我怎样才能添加新的方法或删除方法一的具体类?或者,如果我尝试添加一个已经存在的方法,那么它将覆盖它(虽然在这种情况下我可以删除旧的并添加新的相同)?
可以在方法本身表示为String时完成吗?(我的意思是在不使用外部文件的情况下这样做,但只是将方法写成字符串).
例如,获取类,符号和字符串的方法,该方法是代码的代码,并将此方法添加到aClass中,如果存在则覆盖旧方法:
in: aClass add: aSymbol sourceCode: aString
Run Code Online (Sandbox Code Playgroud)
和用法示例:
in: ClassA add: #something sourceCode: 'self subclassResponsibility'
Run Code Online (Sandbox Code Playgroud)
小智 6
这很容易.检查Behavior类中的"编译"类别.你可以这样做:
MyClass compile: 'something
^ self subclassResponsability'.
Run Code Online (Sandbox Code Playgroud)
检查"编译"类别中的其余方法,您可以在其中指定放置方法的类别,通知对象,错误块等.如果您使用现有方法调用#compile:它将只是覆盖它.
对于删除,相同的检查方法,如#removeSelector:在Behavior或ClassDescription中实现.你可以做:
MyClass removeSelector: something.
Run Code Online (Sandbox Code Playgroud)
干杯