Smalltalk编程:类变量定义与类层次结构解析
1. 类变量的定义
在编程中,类变量是一种特殊的变量类型,它在类及其所有实例之间共享。在VisualWorks环境里,类变量被视为非私有或共享变量的特殊类别。类变量可从类方法和实例方法中访问,并且类及其所有实例在访问类变量时,看到的是同一个对象。
类变量具有继承性,定义类的子类会继承这些变量,子类的实例也能访问它们,但其他“外部”类的对象则无法访问。例如,在 Date
类中,类变量 MonthNames
指向一个包含各个月份名称符号的数组。若在每个日期对象中都存储月份名称信息,会造成存储空间的浪费。
下面详细介绍在VisualWorks中创建新类变量的步骤:
1. 打开系统浏览器,选择要定义类变量的类,然后点击“Shared Variable”选项卡。
2. 在系统浏览器的字段3中添加一个类别,比如“class variables”,此时浏览器会显示类似图7.20的界面。
3. 在系统浏览器字段5中出现的类变量定义模板的第一行,将关键字 defineSharedVariable:
的参数替换为要创建的类变量的符号,如 #FixedExpenses
。在Smalltalk编程实践中,类变量名通常以大写字母开头。
4. 关键字 private:
、 constant:
和 category:
的参数保持不变。
5. 可以为关键字 initializer: