Ruby has its own style to define the abstract methods in its class.
class Shape def initialize raise NotImplementedError.new("#{self.class.name} is an abstract class") end def area raise NotImplementedError.new("#{self.class.name} area is an abstract method ") end end class Square < Shape def initialize(length) @length = length end def area @length ** 2 end end Shape.new().area puts Square.new(10).area
[Ruby] Define abstract methods
时间: 2024-11-03 22:42:48