Oop 基本Smalltalk子类
我试图在Smalltalk中创建一个非常简单的向量类作为数组的子类。我创建类的代码如下所示:Oop 基本Smalltalk子类,oop,class,subclass,smalltalk,gnu-smalltalk,Oop,Class,Subclass,Smalltalk,Gnu Smalltalk,我试图在Smalltalk中创建一个非常简单的向量类作为数组的子类。我创建类的代码如下所示: Array subclass: #Vector Vector comment: 'I represent a Vector of integers' Vector class extend [ new [ | r | <category: 'instance creation'> r := super new. r init. ^r ]
Array subclass: #Vector
Vector comment: 'I represent a Vector of integers'
Vector class extend [
new [
| r |
<category: 'instance creation'>
r := super new.
r init.
^r
]
]
Vector extend [
init [
<category: 'initialization'>
]
]
我假设,因为它是数组的一个子类,所以我可以用这种方式创建一个向量。做这件事最好的方法是什么?谢谢
编辑-我想出来了。在深入阅读本教程之后,我发现我需要包括一个特殊的类,它具有不同长度的可索引实例 在您似乎正在使用的GNU Smalltalk中,数组类声明为:
ArrayedCollection subclass: Array [
<shape: #pointer>
要继承此行为,可以使用:
Array subclass: Vector [<shape: #inherit>]
但在大多数情况下,创建封装数组的类比创建从数组继承的类更有意义
<> Pr>集合,它是指C++和java中的向量容器的SimultAutoal等价物。
数组是一类特殊的类,具有不同长度的可索引实例。 在您似乎正在使用的GNU Smalltalk中,数组类声明为:
ArrayedCollection subclass: Array [
<shape: #pointer>
要继承此行为,可以使用:
Array subclass: Vector [<shape: #inherit>]
但在大多数情况下,创建封装数组的类比创建从数组继承的类更有意义
<> P>也指出,有序集合是C++和java中的向量容器的Simultalk等价物。我认为你和这个家伙有同样的问题:我看着那个帖子,改变了这些东西,但我还是得到了同样的结果。我想你和这个家伙有同样的问题:我看了那篇文章,改变了那些东西,但我还是得到了同样的结果。