面向Java开发人员的Scala指南 - 关于特征和行为 - 编程入门网
va 的接口,接合到 Student:
清单 14. 我,学生
面向Java开发人员的Scala指南 - 关于特征和行为(9)时间:2011-01-30 IBM Ted Neward在编译时,它会转换成 POJI:Plain Old Java Interface,查看 javap 会看到这样的内容: 清单 15. 这是一个 POJI!
接下来,我需要一个类成为工厂本身。通常,在 Java 代码中,这应该是类上的一个静态方法(名称类似于 “StudentFactory”),但回忆一下,Scala 并没有此类的实例方法。我认为这就是我在这里希望得到的结论,因此,我创建了一个 StudentFactory 对象,将我的 Factory 方法放在那里: 清单 16. 我构造 Students
嵌套类 StudentImpl 是 Student 特征的实现,因而提供了必需的 get()/set() 方法对。切记,尽管特征可以具有行为,但它根据 JVM 作为接口建模这一事实意味着尝试实例化特征将产生错误 —— 表明 Student 是抽象的。 当然,这个简单示例的目的在于编写出一个 Java 应用程序,使之可以利用这些由 Scala 创建的新对象: 清单 17. 学生 Neo
运行此代码,您将看到:“I know Kung fu”。(我知道,我们经过了漫长的设置过程,只是得到了一部廉价电影的推介)。 结束语 人们不喜欢思考。思考总是要得出结论。而结论并非总是令人愉快。 — Helen Keller 特征提供了在 Scala 中分类和定义的强大机制,目的在于定义一种接口,供客户端使用,按照 传统 Java 接口的形式定义;同时提供一种机制,根据特征内定义的其他行为来继承行为。或许我们需要的是一种全新的继承术语,用于 描述特征和实现类之间的关系。 除了本文所述内容之外,还有很多种方法可以使用特征,但本系列文章的部分目的就在于提供关于这种语言的足够信息,鼓励您在家中进一步开展实验;下载 Scala 实现,亲自试用,查看 Scala 可插入当前 Java 系统的什么位置。此外,如果您发现 Scala 非常有用,如果您对本文有任何意见建议 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |