Mega Code Archive

 
Categories / Ruby / Class
 

Override a to_s method after inheritance

class CD   include Comparable   @@plays = 0   attr_reader :name, :artist, :duration   attr_writer :duration   def initialize(name, artist, duration)     @name     = name     @artist   = artist     @duration = duration     @plays    = 0   end   def to_s     "CD: #@name--#@artist (#@duration)"   end   def inspect     self.to_s   end   def <=>(other)     self.duration <=> other.duration   end end class NewCD < CD   def initialize(name, artist, duration, lyrics)     super(name, artist, duration)     @lyrics = lyrics   end   def to_s     super + " [#@lyrics]"   end end class NewCD   def to_s     super   end end d = NewCD.new("A", "S", 1, "C") d.to_s