java 重写 的 优化
基类
"A polar coordinate"
class Polar(Float angle, Float radius) {
shared Polar rotate(Float rotation)
=> Polar(angle+rotation, radius);
shared Polar dilate(Float dilation)
=> Polar(angle, radius*dilation);
"The default description"
shared default String description
=> "(``radius``,``angle``)";
}
子类继承 基类
"A polar coordinate with a label"
class LabeledPolar(Float angle, Float radius, String label)
extends Polar(angle, radius) {
// 方法重写 基于 Java 改进写法
// way 1
//"The labeled description"
//shared actual String description
// => label + "-" + super.description;
//way 2
//description => label + ": " + super.description;
// way 3
description = "``label``: (``radius``,``angle``)";
}
run 运行
"Run the module `demo`."
shared void run() {
//继承
LabeledPolar labelPolar = LabeledPolar(10.0,12.0,"labletest");
// 方法 重写
print(labelPolar.description);
}