学习语言

类与实例

使用类组织初始化逻辑、实例字段、继承、覆写与父类调用。


 姓名:
 年岁:
 初始化(姓名:,年岁:
.姓名  姓名;
.年岁  年岁;


 自述():
 「吾名」.姓名;



 子:人 「言序」2);
 子.自述();
 子.年岁  3

调用类会创建实例并调用初始化声明字段类型,可组合公/私;只读字段允许在初始化期间首次赋值,之后拒绝改写。成员读取先查字段,再查方法;方法取出时自动绑定

言序支持单继承,子类未找到的方法会沿父类链查找;子类实例可以赋给父类标注:

 生灵
 名:
 初始化(名:.名  名;
 名号():.名;


 生灵 
 初始化(名:.初始化(名);
 名号():.名号()  「,人」


 来客:生灵 「言序」);
 来客.名号();

父.方法(…)从当前方法定义类的直接父类开始查找实现,但仍绑定当前动态实例;父.初始化(…)因此可以显式完成构造链。只能出现在有父类的实例法内,不能单独读取,也不能越过私有成员边界。

覆写必须保持字段/方法种类、静态或实例属性、参数与归值签名;公开父类法不能覆写为私有。普通对象.方法继续动态派发到实际实例的最具体实现,只有显式父.方法跳过当前覆写。

类不可承自身。使用声明字段和方法形状,类通过显式承诺结构符合性;静态检查器会在执行前验证字段类型、方法参数和归值。

 可名
 姓名:
 自述():


 可名 
 姓名:
 自述():.姓名;

运行时的值 是 类名值 是 协议名会识别完整继承链与显式协议链,详见基础语法与类型