我一直在阅读Wirth关于Oberon的书籍 - 或者至少是在尝试 - 而且在弄清楚Oberon中面向对象编程的情况时,我正在遇到精神障碍。
我知道他的方法应该通过避免“标准”OOP语法来简化面向对象的编程,他标记了一个perpetration,好像它在某种程度上是犯罪的,也许我只是在课堂上根深蒂固,方法等...有点思考,但有人可以将Oberon的方法转换为标准的OOP语言,或者至少在概念上解释它。
答案 0 :(得分:3)
您可以通过比较在Ada 95 Rationale: II.1 Programming by Extension中检查的Ada的标记类型与在对象中讨论的Oberon-2的类型标记来获得一些见解。 Oberon-2中的面向对象编程:运行时数据结构,引用here。两者都使用具有隐藏类型信息的记录结构来实现继承和多态。另请参阅 Ada 95和Java 的面向对象特性的比较,引用here。
附录:他们只是简单地将程序与记录联系起来?
Oberon记录类型以类似于Object Pascal中的对象类型的方式封装过程和数据。 Ada标记的记录封装了数据,而封闭的包封装了子程序和记录。