140 likes | 469 Vues
Vererbung. Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces. Die Klassen Kreis und Quadrat. > Quelltext. > Quelltext. Die Klassen Kreis und Quadrat. Die Klasse Figur. > Quelltext. > Quelltext. > Quelltext. Test1 und Test 2.
E N D
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces
Die Klassen Kreis und Quadrat > Quelltext >Quelltext GK Informatik am WHG 11-13
Die Klassen Kreis und Quadrat GK Informatik am WHG 11-13
Die Klasse Figur >Quelltext >Quelltext >Quelltext GK Informatik am WHG 11-13
Test1 und Test 2 public class FigurenTest1 {public static void main (String[] args) { Quadrat einQuadrat = new Quadrat(); Kreis einKreis = new Kreis(); einQuadrat.setMittelpunkt(10,10); einKreis.setMittelpunkt(20,20); System.out.println("Quadrat-Mittelpunkt: (" + einQuadrat.getXMitte() + "/" + einQuadrat.getXMitte() + ")"); System.out.println("Kreis-Mittelpunkt: (" + einKreis.getXMitte() + "/" + einKreis.getXMitte() + ")"); } } public class FigurenTest2 {public static void main (String[] args) { Figur eineFigur = new Quadrat(); eineFigur.setMittelpunkt(20,20); System.out.println("Quadrat-Mittelpunkt: (" + eineFigur.getXMitte() + "/" + eineFigur.getXMitte() + ")"); } } GK Informatik am WHG 11-13
Spätes Binden import info1.*;public class FigurenTest3 {public static void main (String[] args) { Figur eineFigur; System.out.println("Geben Sie '1' ein, wenn die Figur ein Quadrat sein soll, "); System.out.print("geben Sie '2' ein, wenn die Figur ein Kreis sein soll: ");int i = Console.in.readInt();if (i==1){ eineFigur = new Quadrat(); }else{ eineFigur = new Kreis(); } eineFigur.setMittelpunkt(15,15); System.out.println((i==1?"Quadrat":"Kreis") + "-Mittelpunkt: (" + eineFigur.getXMitte() + "/" + eineFigur.getXMitte() + ")"); } } GK Informatik am WHG 11-13
Erweiterung Quadrat erbt die Methode berechneInhalt() von Rechteck. Warum reicht das? public double berechneInhalt(){ return seiteX * seiteY; } public double berechneInhalt(){ return Math.PI * radius*radius; } > In Quadrat ist seiteX = seiteY GK Informatik am WHG 11-13
Abstrakte Klasse >Quelltext GK Informatik am WHG 11-13
Interface public interface A{ public abstract void a(); } public class B implements A{ public void a(){ //.... } } public class InterfaceTest1 { public static void main (String[] args) { B b = new B(); b.a(); } } public class InterfaceTest2 { public static void main (String[] args) { A a = new A() { public void a(){ //... } }; a(); } } GK Informatik am WHG 11-13