Gebruikersavatar
In physics I trust
Artikelen: 0
Berichten: 7.390
Lid geworden op: za 31 jan 2009, 08:09

Overloading

Hallo,

Ik heb een superclass en twee subclasses ervan. Neem om de gedachten te fixeren bijvoorbeeld een klasse Dier en een subclass Hond en Koe. Beide subclasses hebben de eerste twee argumenten (parameters) hetzelfde (bijvoorbeeld int aantalpoten, int leeftijd), en dan elk nog twee argumenten (parameters) verschillend (bijvoorbeeld een String Ras voor de hond en een int Gewicht voor de koe).

Bedoeling is dat de gebruiker er in moet slagen om met één enkele functie, zo een dier aan te maken. Dat kan perfect door één enkele functie, want beide dieren onderscheiden zich door het type van de laatste parameters: bij de koe is het een int en bij de hond een String. De compiler kan dus aan de meegegeven argumenten weten of hij een koe of een hond moet aanmaken.

Ik weet dus niet goed hoe ik de functie MaakDier(int gemeenschappelijk1, int gemeenschappelijk2, type afhankelijkvandier) er moet laten uitzien zodat deze automatisch, afhankelijk van wat je eraan meegeeft, een Koe of Hond aanmaakt. Het principe is overloading, maar ik weet niet hoe ik het concreet in elkaar boks...

Alvast bedankt!

Als er iets te vaag is, zeg gerust!
"C++ : Where friends have access to your private members." Gavin Russell Baker.
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Overloading

Bedoel je dit:

Code: Selecteer alles

function Dier maakDier(int a,int b,int c)

{

   return new Koe(a,b,c);

}

function Dier maakDier(int a,int b,String c)

{

   return new Hond(a,b,c);

}
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
Gebruikersavatar
In physics I trust
Artikelen: 0
Berichten: 7.390
Lid geworden op: za 31 jan 2009, 08:09

Re: Overloading

Bedankt!

Zou je ook binnen de klasse Dier ervoor kunnen zorgen dat je een Hond of Koe aanmaakt naargelang je een int of String meegeeft? Dus dat je met Dier mijndier = new Dier(argumenten) afhankelijk van die argumenten eigenlijk een new Hond of new Koe uitvoert?
"C++ : Where friends have access to your private members." Gavin Russell Baker.
Gebruikersavatar
317070
Artikelen: 0
Berichten: 5.609
Lid geworden op: za 28 feb 2009, 17:05

Re: Overloading

Zou je ook binnen de klasse Dier ervoor kunnen zorgen dat je een Hond of Koe aanmaakt naargelang je een int of String meegeeft? Dus dat je met Dier mijndier = new Dier(argumenten) afhankelijk van die argumenten eigenlijk een new Hond of new Koe uitvoert?
Dat klinkt als heel vuil programmeerwerk, waarom zou je ooit zoiets willen doen? Normaal gezien weet je in je code altijd of je een Koe of een Hond nodig hebt, aja, want de type dat je meegeeft staat veruit altijd hard geprogrammeerd in je code.

Verder is het volgens mij onmogelijk om te doen in Java, in andere talen weet ik het niet.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-
Gebruikersavatar
In physics I trust
Artikelen: 0
Berichten: 7.390
Lid geworden op: za 31 jan 2009, 08:09

Re: Overloading

Dat klinkt als heel vuil programmeerwerk.
Inderdaad. En nutteloos bovendien ;) Stom van me.
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Terug naar “Informatica en programmeren”