Visiolla pitäisi piirrellä luokkakaaviota... Onko yleistyssuhde == periminen? (Yleistys=Generalization, periminen=Inheritance))
Yläluokalla useampi alaluokka...voiko tuota Generalization nuolta jotenkin haaroittaa useammalle alaluokalle?
Yläluokalla useampi alaluokka...voiko tuota Generalization nuolta jotenkin haaroittaa useammalle alaluokalle?
Vastaukset 3
Vanhimmat
UML:ssä se käytännössä juuri noin on:
"The generalization relationship is also known as the inheritance or "is a" relationship."
http://en.wikipedia.org/wiki/Class_diagram#Generalization
Yliluokka sisältää vähemmän data- ja metodijäseniä kuin sen alaluokat. Ts. aliluokat ovat erikoistuneempia kuin niitä yleisemmät yliluokat. Joten kaikkein yleisin luokka olisi täysin tyhjä (yli)luokka. Arkikokemuksen mukaan jotenkin tuntuisi että eteenkin eng. superclass sisältäisi enemmän tavaraa, mutta tässä onkin kyse abstraktiosta.
Eikös nuo 'viralliset' termit ole ali- ja yliluokat, eikä ylä ja ala, mutta ei kai sillä niin väliä...
Perintä on yleisnimi sekä erikoistamiselle (specialization) että yleistämiselle (generalization). Perintä on kahden tyypin välinen suhde, jossa yleisemmästä luokasta erikoistetaan lapsiluokka (-luokkia). Oikeastaan nuo kaksi termiä ovat ilmaisuja perintäsuhteen kulkusuunnasta eli
A
Ok. Hyvä tieto ettei sitä oikeasti haaroitetata vaan "piirretään" päälllekäin. Periaatteessa jo vähän ihmettelinkin kun luin eri lähteistä perimisestä.