昨晚这引起了我的注意。
关于最新的ALT.NET 播客 http://altnetpodcast.com/episodes/10-oop-in-rubyScott Bellware 讨论了 C#、Java 等语言与 Ruby 不同的方式。不是真正的面向对象,而是选择“面向类”这个词。他们以非常模糊的术语谈论这种区别,而没有详细讨论或讨论太多的利弊。
这里真正的区别是什么?它有多重要?那么还有哪些语言是“面向对象”的呢?这听起来很有趣,但我不想学习 Ruby 只是为了知道如果我遗漏了什么。
Update
在阅读了下面的一些答案后,人们似乎普遍同意参考的是鸭子打字。但我不确定我是否理解这最终会改变一切的说法。特别是如果您已经通过松散耦合等方式进行了适当的 TDD。有人可以向我展示一个我可以使用 Ruby 完成但无法使用 C# 完成的具体事情的示例吗?这可以举例说明这种不同的 OOP 方法吗?
在面向对象的语言中,对象是通过定义对象而不是类来定义的,尽管类可以为给定抽象的特定的、千篇一律的定义提供一些有用的模板。在面向类的语言中,例如 C#,对象必须由类定义,并且这些模板通常在运行时之前被封装和打包并使其不可变。对象必须在运行时之前定义并且对象的定义是不可变的这种任意约束不是面向对象的概念;它是面向阶级的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)