Springen naar inhoud

Overloading


  • Log in om te kunnen reageren

#1

In physics I trust

    In physics I trust


  • >5k berichten
  • 7384 berichten
  • Moderator

Geplaatst op 25 mei 2011 - 20:22

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.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 25 mei 2011 - 21:17

Bedoel je dit:

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

#3

In physics I trust

    In physics I trust


  • >5k berichten
  • 7384 berichten
  • Moderator

Geplaatst op 25 mei 2011 - 22:09

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.

#4

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 25 mei 2011 - 22:56

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-

#5

In physics I trust

    In physics I trust


  • >5k berichten
  • 7384 berichten
  • Moderator

Geplaatst op 25 mei 2011 - 23:30

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.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures