루비에는 추상 클래스의 개념이 없다는 것을 알고 있습니다. 하지만 구현해야한다면 어떻게해야할까요? 나는 다음과 같은 것을 시도했다.
class A
def self.new
raise 'Doh! You are trying to write Java in Ruby!'
end
end
class B < A
...
...
end
그러나 B를 인스턴스화하려고하면 내부적으로 A.new
예외를 발생시킬 호출 이 발생합니다.
또한 모듈은 인스턴스화 할 수 없지만 상속 될 수도 없습니다. 새 메서드를 비공개로 설정하는 것도 작동하지 않습니다. 어떤 포인터라도?
raise "Doh! You are trying to write Java in Ruby"
.