Finns det ett "äkta" OO-språk?? Vilka isåfall... Konstiga problem kan uppstå. Det är för att du tänker fel det blir så konstigt. Så här borde det vara: Alexander: Ja det där saknade jag väldigt mcyket när jag var ny med programmering. Nu för tiden saknar jag det inte alls.. man lär sig helt enkelt att tänka på "rätt" sätt. Braaaa jag fick ta i med hårdhandskarna för att få rätt arv efter min kära Mor. Använd aldrig arv när det gäller något som kan förändras. Det lilla jag kan om det är ! Kvasifilosofi. OO !Intressant tanke om arv (programmering)..
Om man tänker sig att;
class MorMor { }
class FarFar { }
class Mamma extends MorMor { }
class Pappa extends FarFar { }
Nu blir problemet när vi ska lägga till en class åt Dottern/Sonen... Vilket då "borde" bli;
class Dotter extends Mamma, Pappa { }
Men detta fungerar inte. Världen är allt bra lustig, eller åtminstone OO-språkenSv: Intressant tanke om arv (programmering)..
class Människa { setMother(Människa* mother); setFather(Människa* father); SetGender(bool IsMale); }
class MorMor extends Människa {}
class FarFar extends Människa {}
osv...
Dessutom skulle din version kunna fungera hur fint som helst i rätt språk, i C++ kan vi ärva från flera klasser ex (inte ett bra men tydligt nog):
class Animal {}
class Tail {}
class Legs { setNumberOfLegs(int number_of_legs); }
class Geals {}
class Mammal extends Animal, Legs {}
class Fish extends Animal, Geals {}
class Cat extends Mammal, Tail {}Sv: Intressant tanke om arv (programmering)..
Så som i Pontus exempel.Sv:Intressant tanke om arv (programmering)..
Sv: Intressant tanke om arv (programmering)..
Jag föddes inte som "Far" och för närvarande så är jag varken "farfar" eller "morfar".
Det är något jag kanske kommer att bli någon gång.
Om du använder arv för de bitarna så måste du hela tiden döda och skapa nya objekt när något förändras.
(dessutom måste du sätta om alla referenser som ev. fanns till det gamla objektet till det nya)
Använd arv när du har en statisk struktur,
tex primater är däggdjur, människor är primater osv.
När det gäller dynamiska strukturer så bör du använda roller.
dvs. en person kan ha 0 eller flera roller.
en roll kan vara tex Far, eller Polis eller vad man nu vill.Sv:Intressant tanke om arv (programmering)..
Kvalificerat trams som löses mycket bättre på annat vis.