[Java lista] klasszikusnak számító kérdés

Legéndi Richárd roante at freemail.hu
2006. Dec. 1., P, 11:11:52 CET


Szia!

Kb. azt vettem ki a szavaidból, hogy más-más típusú objektumot 
kellene visszaadniuk az egyes függvényeknek, nem? Ha félreértettem, 
bocsi ;]

A visszatérési értéket lehet specializálni, tehát ha bevezetsz nekik egy 
közös ősosztályt, akkor menni fog, valahogy így:

class Returnval {}
class SpecReturnval extends Returnval {}

class TestMe {
	Returnval method() { return new Returnval(); }
}

class TestMe2 extends TestMe {
	@Override
	SpecReturnval method() { return new SpecReturnval(); }
}


Itt egy kicsit nagyobb - viszont annál gagyibb :-) - példa:

abstract class Ancestor {
	abstract Ancestor method();
}

class ChildA extends Ancestor {
	@Override
	ChildA method() {
		return new ChildA();
	}
	
	@Override
	public String toString() { return "A!"; }
}

class ChildB extends Ancestor {
	@Override
	ChildB method() {
		return new ChildB();
	}

	@Override
	public String toString() { return "B!"; }
}

public class Fingerprint {
	public static void main(String[] args) {
		Ancestor[] ancestors = new Ancestor[2];
		ancestors[0] = new ChildA().method();
		ancestors[1] = new ChildB().method();
		
		for (Ancestor act : ancestors) {
			System.out.println( act );
		}
	}
}// class.Footprint


R.


_______________________________________________________________
Karácsonyi ajándékozás? - [origo] klikkbank személyi kölcsön
http://www.klikkbank.hu/lakossagi/termekek/szemelyi_kolcson/index.html



További információk a(z) Javalist levelezőlistáról