Awel ehm hmmz hoe moet ik dat uitleggen.
Een klasse is een verzameling van verschillende objecten die dus gezamenlijke eigenschappen hebben.
Hier bijvoorbeeld is dit de verzameling van de complexe getallen.
De eigenschappen? men kan ze optellen, aftrekken, vermenigvuldigen en delen.
En het bestaat uit twee reeele getallen, imaginair en reeël deel.
Dus de gelijkenissen sla je op in een klasse, en ook de bewerkingen.
Een object van een klasse is een element van de verzameling, bv 3+5i, 0+7i, 5+0i, ..
Een object maak je door:
Complex mijncomplexgetal = new Complex();
te doen, new Complex() roept de constructor aan van de klasse.
Een constructor reserveert geheugenruimte en maakt je object, dat dus een element is van de verzameling, aan.
een constructor is een gewone functie, dus die kan argumenten bevatten, in dit geval zijn dat dus het reeele deel en het imaginaire deel, dus de constructor zal er zoiets achtigs uitzien:
public Complex(double reel, double imag)
{
this.reel=reel;
this.imag=imag;
}
die constructor slaat het reele deel op in een variabele en het imaginaire deel op in een variabele.
Dan kan je ook nog een functie optel definieren zoals je deed, dan krijg je:
optel(Complex complexgetal2)
deze functie is een bewerking over het veld van de complexe getallen als je het wiskundig uitdrukt en zou dus eigenlijk twee argumenten moeten hebben, namelijk:
complex1+complex2 -> f(complex1,complex2) (wiskundig uitgedrukt)
dit zou je kunnen doen met bv een static methode, dan kan je gewoon tikken:
Complex.optel(complex1,complex2)
complex1 en complex2 zijn dus twee objecten van je klasse, en de functie optel is een statische methode van je klasse.
of je kan het gewoon public en niet statisch maken, dan kan je de methode optel zo aanroepen:
complex1.optel(complex2)
dan roep je een methode aan van je object complex1, dat dus een object is van de klasse complex, dus je roep eigenlijk ook de methode optel aan van je klasse, dit is nu echter een dynamische functie.
Hmmz ik denk dat mijn uitleg enkel voor verwarring gaat zorgen, dus als je nog vragen hebt, stel ze maar, ik hoop dat ik klasse en object een beetje duidelijk heb uitgelegd?
wat je dus moet doen is:
een klasse Complex schrijven, en die klasse bevat:
twee variabelen voor het imaginaire en reele deel
een functie optel (al of niet statisch)
een constructor (om een object van die klasse aan te maken)