ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
主要的类型 - 他们的名字匹配 .hx后缀的文件名字 - 可以被隐式的引用。可以重复道一个主要类型通过使用它完整的名字或者相对的名称,如果用在相同的包内的话。 Circle 类使用 Point 类来定义一个变量,存储圆的中心点: ~~~ // content of file geom/Circle.hx package geom; class Circle { public var center : Point; public var radius : Float; public function new(center : Point, radius : Float) { this.center = center; this.radius = radius; } public function perimeter() { return( 2 * Math.PI * radius ); } } ~~~ 注意,Point 类用在本文件,没有 geom 包前缀,也没有任何 import 声明。Point类自动被发现并立即可访问,因为它跟Circle在相同的包。Point 也可以被引用使用完整的名称,如下: ~~~ public var center : geom.Point; ~~~ 当使用完整的名称,如果在同一个包内,这并不是必须的。而当在不同的包或在一个子包中,必须使用完整名称。 ~~~ // content of file Main.hx class Main { static function main() { var p = new geom.Point(5,5); var c = new geom.Circle(p, 10); trace(c.perimeter()); } } ~~~ 示例文件(Main.hx)在项目的根目录,是编译器使用的入口类。因为没有包被声明,类是默认空包的一部分。当前一个例子被编译,输出会包含着三个类的定义,因为它们都被使用到项目中;即使 如果 Point没有被 Main直接调用,Circle需要它的出席才能正确工作。