Java: super-viittaus

super-viittauksella voimme viitata aliluokasta yliluokan ylikirjoittamaa metodia.

Esimerkiksi Yliluokan metodi

// Luokan Yliluokka metodi
public void laula(String laulu) {
	System.out.println(laulu);
}

voidaan ylikirjoittaa, mutta Yliluokan alkuperäistä metodia voimme kutsua Aliluokasta super-viitteen avulla super.laula(”Lauletaan Yliluokassa…”);. Yliluokan metodia voi kutsua myös Aliluokan metodissa joka sen ylikirjoittaa.

// Luokan Aliluokka metodi
public void laula() {
	System.out.println("Lauletaan Aliluokassa...");
	super.laula("Lauletaan Yliluokassa...");
}

Yleisimpiä super-viiteen käyttötapauksia lienee yliluokan konstruktorin kutsuminen.

// Yliluokalla kaksi konstruktoria
public Yliluokka(){}
public Yliluokka(String auto, String os) {
	this.auto = auto;
	this.os = os;
}
// Aliluokalla vain yksi konstruktori
public Aliluokka(String auto, String os) {
	super(auto, os);
}

Pieni esimerkkikoodi Eclipse projektina SuperEsimerkki.zip

Advertisements

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s