# Ereditarietà

**URL:** <https://www.ruby-forum.com/t/ereditarieta/218002>\
**Category:** IT\
**Created:** [March 18, 2012, 12:54pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002 "2012-03-18T12:54:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [March 18, 2012, 12:54pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/1 "2012-03-18T12:54:16Z")

</div>

Ciao a tutti, ho un problema di ereditarietà. Utilizzando questo codice  
#Class and Object  
class Album  
def initialize(artist=“unknown”,title\_album=“unknown”)  
@artist=artist  
@title\_album=title\_album  
end  
def to\_s  
“Album: #@artist ~ #@title\_album”  
end  
end  
class Song \< Album  
def initalize  
(artist=“unknown”,title\_song=“unknwon”,title\_album=“unknown”,length=“0:00”)  
super(artist,title\_album)  
@title\_song=title\_song  
@length=length  
end  
def to\_s  
super+" ~ #@title\_song [#@length]"  
end  
end  
album=Album.new(“Saruman”,“Trolling in the tower”)  
puts album.to\_s  
song=Song.new(“Saruman”,“Trolling Album”,“Trolling in the tower”,“2:20”)  
puts song.to\_s

Mi da errore alla inizializzazione di Song, ovvero 4 argomenti su 2.  
Cosa sto sbagliando?

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 1:03pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/2 "2012-03-18T13:03:12Z")

</div>

> def initalize

Ti manca una “i”…

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 1:53pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/3 "2012-03-18T13:53:51Z")

</div>

[figura di caxxa on] Grazie mille =)

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 2:09pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/4 "2012-03-18T14:09:35Z")

</div>

> [figura di caxxa on] Grazie mille =)

Succede 🙂 Se posso permettermi, l’errore pi grave qui concettuale:  
ereditare Song da Album non ha nessun senso 🙂

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 6:26pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/5 "2012-03-18T18:26:10Z")

</div>

Giuseppe C. wrote in post #1052148:

> > [figura di caxxa on] Grazie mille =)
> 
> Succede 🙂 Se posso permettermi, l’errore pi grave qui concettuale:  
> ereditare Song da Album non ha nessun senso 🙂  
> Beh, si certo, ma si tratta dei miei primi passi e quindi il codice è  
> semplice.

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 8:53pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/6 "2012-03-18T20:53:19Z")

</div>

Ah, in quel senso!  
Beh, i nomi sono casuali: grazie per la precisazione Tommaso  
Visconti!!! =)

(devo dire che è un gruppo estremamente attento, anche ai più nabbi like  
me!!! GRAZIEEEEEEE)

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 18, 2012, 8:41pm UTC](https://www.ruby-forum.com/t/ereditarieta/218002/7 "2012-03-18T20:41:35Z")

</div>

Il 18/03/12 18:26, Andrea R. ha scritto:

> Giuseppe C. wrote in post #1052148:
> 
> > > [figura di caxxa on] Grazie mille =)
> > 
> > Succede 🙂 Se posso permettermi, l’errore pi grave qui concettuale:  
> > ereditare Song da Album non ha nessun senso 🙂  
> > Beh, si certo, ma si tratta dei miei primi passi e quindi il codice  
> > semplice.

Non credo che Giuseppe si riferisse alla complessit del codice, quanto  
al fatto che non ha molto senso che Song derivi da Album, ovvero una  
canzone non un qualcosa che aggiunge dettaglio ad un album, quanto un  
qualcosa che ne fa parte. Un’alternativa potrebbe essere creare nel  
costruttore di Album un array di canzoni (@songs = ) e inserirci le  
istanze di Song che fanno parte di un determinato album.
