我知道ruby中没有抽象类的概念.但是,如果它需要实施,那该怎么办呢?我试过像......
class A
def self.new
raise 'Doh! You are trying to write Java in Ruby!'
end
end
class B < A
...
...
end
Run Code Online (Sandbox Code Playgroud)
但是当我尝试实例化B时,它会在内部调用A.new哪个会引发异常.
此外,模块无法实例化,但也无法继承.使新方法私有也行不通.有什么指针吗?
是不是因为动态类型我们不需要python中的接口概念(比如Java和C#)?
令我惊讶的是,我对Ruby和Python等动态语言产生了更多的兴趣.声称它们是100%面向对象的,但是当我阅读几个基本概念(如接口,方法重载)时,缺少运算符重载.它是以某种方式内置在封面下还是这些语言不需要它?如果后者是真的,那么他们100%面向对象?
编辑:基于一些答案,我看到Python和Ruby都可以进行重载,Ruby 1.8.6和Python 2.5.2就是这种情况吗?