在Smalltalk中有一个简单的方法吗?我80%确定有一些方法,但无法在任何地方找到它.
我知道我可以用
(instance class = SomeClass) ifTrue:
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用superclass等...但我希望有内置的东西:)
aka*_*ice 20
要测试anObject是否是aClass的实例:
(anObject isMemberOf: aClass)
Run Code Online (Sandbox Code Playgroud)
要测试它是aClass的实例还是其中一个子类:
(anObject isKindOf: aClass)
Run Code Online (Sandbox Code Playgroud)
你是对的,检查你使用的确切类(使用身份代替):
instance class == SomeClass ifTrue:[]
有用的还isKindOf:可以测试实例是否为给定类的类或子类:
(实例isKindOf:SomeClass)ifTrue:[]
最好和最优雅的是在超类和对等类中编写测试方法,然后使用它:
实例isSomeClass ifTrue:[]
| 归档时间: |
|
| 查看次数: |
6374 次 |
| 最近记录: |