Upload
hetal
View
35
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Vererbung
Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces
November 2005 GK Informatik am WHG 11-13 2
Die Klassen Kreis und Quadrat
> Quelltext >Quelltext
November 2005 GK Informatik am WHG 11-13 3
Die Klassen Kreis und Quadrat
November 2005 GK Informatik am WHG 11-13 4
Die Klasse Figur
>Quelltext
>Quelltext >Quelltext
November 2005 GK Informatik am WHG 11-13 5
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() + ")"); } }
November 2005 GK Informatik am WHG 11-13 6
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() + ")"); } }
November 2005 GK Informatik am WHG 11-13 7
Erweiterung
Quadrat erbt die Methode berechneInhalt() von Rechteck. Warum reicht das?
public double berechneInhalt(){ return Math.PI * radius*radius;}
public double berechneInhalt(){ return seiteX * seiteY;}
> In Quadrat ist seiteX = seiteY
November 2005 GK Informatik am WHG 11-13 8
Abstrakte Klasse
>Quelltext
November 2005 GK Informatik am WHG 11-13 9
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(); }}