Overloading
- 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!
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.
- 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
Conserve energy: Commute with a Hamiltonian
- 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?
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.
- Berichten: 5.609
Re: Overloading
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.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?
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-
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-
- Berichten: 7.390
Re: Overloading
Inderdaad. En nutteloos bovendien Stom van me.Dat klinkt als heel vuil programmeerwerk.
"C++ : Where friends have access to your private members." Gavin Russell Baker.