假设您有两个类,LuckyClass1
一个是 的子类Object
,一个是 的子LuckyClass2
类LuckyClass1
。假设你的名字是LuckyName
。假设您想将代码放入包Lucky-Package1
中。
Object subclass: #LuckyClass1
LuckyClass1 subclass: #LuckyClass2
LuckyClass1
具有实例端方法、类luckyInstanceSideMethod1
端方法luckyClassSideMethod1
和实例端变量luckyInstanceSideVariable1
和类端变量的类LuckyClassSideVariable1
。
类似地,类LuckyClass2
具有实例端方法luckyInstanceSideMethod1
、类端方法luckyClassSideMethod1
和附加的实例端变量luckyInstanceSideVariable2
和类端变量LuckyClassSideVariable2
。
方法引用看起来像这样
LuckyClass1>>#luckyInstanceSideMethod1
LuckyClass1 class>>#luckyClassSideMethod1
LuckyClass2>>#luckyInstanceSideMethod1
LuckyClass2 class>>#luckyClassSideMethod1
在 Linux/Mac OS X 上,执行
vi Lucky-Package1-unix.st
放入一个名为的Lucky-Package1-unix.st
文件
Object subclass: #LuckyClass1
instanceVariableNames: 'luckyInstanceSideVariable1'
classVariableNames: 'LuckyClassSideVariable1'
poolDictionaries: ''
category: 'Lucky-Package1'!
!LuckyClass1 methodsFor: 'lucky instance side protocol 1' stamp: 'LuckyName 6/8/2016 17:05'!
luckyInstanceSideMethod1
^ luckyInstanceSideVariable1 := 'lucky instance side'
! !
!LuckyClass1 class methodsFor: 'lucky class side protocol 1' stamp: 'LuckyName 6/8/2016 17:06'!
luckyClassSideMethod1
^ LuckyClassSideVariable1 := 'lucky class side'
! !
LuckyClass1 subclass: #LuckyClass2
instanceVariableNames: 'luckyInstanceSideVariable2'
classVariableNames: 'LuckyClassSideVariable2'
poolDictionaries: ''
category: 'Lucky-Package1'!
!LuckyClass2 methodsFor: 'lucky instance side protocol 1' stamp: 'LuckyName 6/8/2016 17:15'!
luckyInstanceSideMethod1
^ super luckyInstanceSideMethod1, ' subclass'
! !
!LuckyClass2 class methodsFor: 'lucky class side protocol 1' stamp: 'LuckyName 6/8/2016 17:17'!
luckyClassSideMethod1
^ super luckyClassSideMethod1, ' subclass'
! !
实际上,您可以剪切和粘贴前面的块。
然后将换行转换为回车,否则 Pharo 会抱怨。这个很重要。如果您在 Linux/Mac OS X 上,您可以使用以下
cat Lucky-Package1-unix.st | tr \\n \\r > Lucky-Package1-pharo.st
在 Windows 上,我仍然会使用来自 git-scm https://git-scm.com/download/win的 bash、vi、cat、tr
然后归档在Lucky-Package1-pharo.st
. 它应该出现在Lucky-Package1
系统浏览器的包中。