[ruby-it] Domanda da neofita sulle classi

Giacomo Graziosi g.graziosi a gmail.com
Sab 13 Set 2008 19:15:59 CEST


2008/9/13 Giovanni Calia <mentat a libero.it>:
> Salve a tutti!
> Vi espongo brevemente il mio problema allegando del codice
> --------------
> class Song
>  def initialize (nome,artista,durata)
>    @nome=nome
>    @artista=artista
>    @durata=durata
>  end
> e questo funziona perfettamente se scrivo
> asong = Song.new("partiro","bocelli",120)
>
> Adesso creo una sottoclasse
> class anonima<Song
> end
> Questa eredita le caratteristiche della superclasse.
> Adesso arriva la domanda..... :)
> Dato che l'ho chiamata "anonima" e' una canzone che non possiede un
> autore.
> Come faccio a dire alla classe anonima<Song che non deve accettare il
> valore corrispondente al nome dell'autore?
>
> Spero di essere stato chiaro!
> Per chi non l'avesse capito sto' iniziando adesso...:)
> Grazie per le eventuali risposte

Ridefinendo il costruttore in questione magari?
Qualcosa tipo:
class Foo
    def initialize(gh1, gh2)
        @gh1, a gh2 = gh1,gh2
    end

    def asd
        puts @gh1
    end
end

class Bar < Foo
    def initialize(gh1)
        @gh1 = gh1
    end
end

b = Bar.new("puppa")
b.asd


More information about the Ml mailing list