Overloading

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Berichten: 7.390

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
Berichten: 2.097

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
Berichten: 7.390

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
Berichten: 5.609

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
Berichten: 7.390

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.

Reageer