Gutes Beispiel für Vererbung?

Status
Nicht offen für weitere Antworten.

Sued_Faust

Bekanntes Mitglied
Moin erst mal!!!!

hab ma ne Frage und zwar schreiub ich gerade ein wirklich ganz kleines prog um in einer dokumentation die vererbung zu verdeutlichen und ich wollt euch fragen ob das von mir gewählte bsp ein gutes ist verbesserungsvorschläge sind erlaubt.

Code:
package vererbung;

public class Ausgabe {

public Ausgabe(){
	
}

public static void main(String args[]) {
	Grafik g1 = new Grafik();
	Kreis k1 = new Kreis();
	
	double gr = g1.getRadius();
	
	double ku = k1.BerechneUmfang();
	
	System.out.println("Start-Radius: " + gr);
	System.out.println("Umfag-Kreis: " + ku);
}
}

------------------------

Code:
package vererbung;

public class Grafik {
	
	protected double radius;
	//protected double x;
	//protected double y;
	//protected double z;
	
	public Grafik(){
		radius = 1.0;
		//x = 1.0;
		//y = 1.0;
		//z = 1.0;
		
	}
	
	protected double getRadius(){
		return radius;
	}
	
	//protected double BerechnungUmfang(){}
	
	//protected double Linie(){}
	
	//protected double Rechteck(){}
	
	
}

--------------------------

Code:
package vererbung;

public class Kreis extends Grafik{
	double r = radius;
	double u;
	
	public Kreis(){
	}
	
	public double BerechneUmfang(){
		u = 2 * r * 3.14;
		
		return u;
	}
	
}

Ich danke ienfcah schon mal im vorraus

mfg Patrick
 
B

Beni

Gast
Das Beispiel ist seltsam. Wieso besitzt "Grafik" ein Attribut "radius"?
Eine Grafik ist kein Kreis; ein Kreis ist eine Grafik. Oder was sollte z.B. eine Klasse "Rechteck", die von Grafik erbt, mit "radius" machen?

Oder anders gesagt, eine Klasse macht nur Sinn, wenn sie neue Funktionen einführt. "Grafik" führt aber nichts ein (ausser diesem fragwürdigen radius), ist also derzeit ziemlich überflüssig.
 

Sued_Faust

Bekanntes Mitglied
Stimmt du hast recht wenn ich mir das jetzt noch ma anschau ist das sehr seltsam :(. aber erlich hab ich nicht so ne gute idee um die vererbung in kleinen Maßstäben zu zeigen. Ohne irgendwelche tiere oder so zu benutzen sollte schon etwas "reales" sein. hätte von euch einer ne idee?

mfg und danke für die erste antwort
 

André Uhres

Top Contributor
Erstens frag ich mich warum du in Kreis eine neue Variable r einführst
und nicht direkt das ererbte Attribut "radius" nimmst.
Zweitens, da "radius" eh nicht zu "Grafik" passt sondern eher zu Kreis,
würde ich mir einfach passendere Grafikattribute ausdenken, wie "farbe", "strichStaerke" oder "hintergrundFarbe".
 

Sued_Faust

Bekanntes Mitglied
naja sry war so nicht gemeint, mnit real war eher gemeint das ein solches beispiel wie die vererbung von rechteck und polygon eine realeres beispiel in der programmerstellung ist als irgendwelche tiere zu vererben...

mfg :)
 

abollm

Top Contributor
roar hat Recht mit seiner "Frage", ob Tiere weniger real sind als Kreise.

Versuch doch einfach dein gewähltes Beispiel mit den Grafiken konsequent aufzubauen, z.B.:

Also deine Basisklasse ist "Grafik" oder "Form". Dies Klasse besitzt bestimmte Basismethoden, wie z.B. "getColor()", "setColor", "setRadius()", "draw()", "move()" etc. sowie bestimmte Eigenschaften ("length", "radius", "color", position").

Jede Form kann folglich z.B. erzeugt/gezeichnet -> "draw()" etc. werden.

Von dieser Basisklasse (~form) werden bestimmte neue Typen von Formen abgeleitet/vererbt, also z.B. Kreis, Rechteck, Dreieck, Fünfeck etc.Alle diese abgeleiteten Klassen können bestimmte zusätzliche Eigenschaften neben den vererbten aufweisen.

Ist doch einfach, oder?
 

mephi

Bekanntes Mitglied
abollm hat gesagt.:
r
Also deine Basisklasse ist "Grafik" oder "Form". Dies Klasse besitzt bestimmte Basismethoden, wie z.B. "getColor()", "setColor", "setRadius()", "draw()", "move()" etc. sowie bestimmte Eigenschaften ("length", "radius", "color", position").


wieso soll Grafik setRadius(), length und radius haben?


also ich würde "grafik" als interface machen. es gibt ja eigentlich keine "figur" die nur grafik ist.
 

abollm

Top Contributor
mephi hat gesagt.:
abollm hat gesagt.:
r
Also deine Basisklasse ist "Grafik" oder "Form". Dies Klasse besitzt bestimmte Basismethoden, wie z.B. "getColor()", "setColor", "setRadius()", "draw()", "move()" etc. sowie bestimmte Eigenschaften ("length", "radius", "color", position").


wieso soll Grafik setRadius(), length und radius haben?


also ich würde "grafik" als interface machen. es gibt ja eigentlich keine "figur" die nur grafik ist.

Ach Mensch, so sei doch nicht so pedantisch. Das war ein schnell hingehacktes Beispiel, ohne groß nachzudenken. Natürlich wäre bei einer Basisklasse Grafik oder Form das Attribut "radius" nicht unbedingt sinnvoll, besser wären "perimeter" und "area", weil das jede Form aufweisen muss. Das Attribut "radius" ist dagegen besser bei der abgeleiteten Klasse Kreis aufgehoben.

Zufrieden?
 

Sued_Faust

Bekanntes Mitglied
Hab mich jetzt doch bisl anders entscheiden und hoffe nnoch mal auf eine meinung von euch :)

Code:
package vererbung;



public abstract class Figur {
	protected double radius = 1;
	   public abstract double BerechneUmfang();
	}

Code:
package vererbung;



public class Kreis extends Figur {
	
	private double umfang;
	
	   public double BerechneUmfang() {
		   umfang = 2 * radius * Math.PI;
			return umfang;
	    }
}

Code:
package vererbung;

public class Ausgabe {
	  public static void main(String[] args) {
		double umfang;  
	    Figur k = new Kreis();
	    umfang = k.BerechneUmfang(); // hier wird nun die Methode von Kreis aufgerufen
	    
	    System.out.println("Umfang = " + umfang );
	    
	  
}
 

mephi

Bekanntes Mitglied
versteh immer noch nicht warum du in der klase figur sowas wie radius drin hast..
deine figut hat doch garkein radius.

wenn du eine abstrakte klasse tier hast und dann eine klasse elefant die von tier erbt, dann hat die klasse elefant ein rüssel und nicht die klasse tier ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Gutes Beispiel für Exception- werfende & behandelnde Methode Java Basics - Anfänger-Themen 5
G Bei Mouseover Grafik ändern, gutes Vorgehen gesucht Java Basics - Anfänger-Themen 0
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
K Gutes Java 3D Game Tutorial gesucht Java Basics - Anfänger-Themen 6
K Interface als Instanzvariable = gutes Design Java Basics - Anfänger-Themen 6
S Gutes Design mit statischen oder Member-Methoden Java Basics - Anfänger-Themen 53
D Gutes Beispielprogramm für Threads? Java Basics - Anfänger-Themen 3
D Suche gutes Buch oder Tutorial Java Basics - Anfänger-Themen 3
J Gutes Buch für Anfänger Java Basics - Anfänger-Themen 11
G gutes Reporting Tool welches mit Java zusammenarbeitet Java Basics - Anfänger-Themen 8
N Java lernen / Gutes Buch Java Basics - Anfänger-Themen 9
K Kennt jemand ein gutes Tutorial für Wertübergabe? Java Basics - Anfänger-Themen 4
G gutes Tutorial rund um WAR-Dateien Java Basics - Anfänger-Themen 4
G Suche gutes DB-Forum Java Basics - Anfänger-Themen 11
K gutes Tutorial? Java Basics - Anfänger-Themen 4
N kennt ihr ein gutes java forum für anfänger? Java Basics - Anfänger-Themen 5
M Gutes einsteiger Buch? Java Basics - Anfänger-Themen 2
C gutes Java-Programm Java Basics - Anfänger-Themen 5
J Compiler + Gutes Buch Java Basics - Anfänger-Themen 2
F kostenloses, gutes UML Tool zum rumprobieren Java Basics - Anfänger-Themen 7
T Beispiel Polymorphie, Tier hund = new Hund(); Java Basics - Anfänger-Themen 3
J Fehlerbehandlung an einem Beispiel Java Basics - Anfänger-Themen 8
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
Blndner Auto Beispiel Java Basics - Anfänger-Themen 4
melisax Beispiel Java umprogrammieren Java Basics - Anfänger-Themen 23
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
marcooooo Kann mir jemand das Beispiel kurz erklären so ungefähr:/ Java Basics - Anfänger-Themen 7
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
C Beispiel-Code mit Pair wird nicht compiliert. Java Basics - Anfänger-Themen 8
B Webhooks verstehen - Beispiel? Java Basics - Anfänger-Themen 25
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J For-Schleife (Beispiel) Java Basics - Anfänger-Themen 6
G Rekursion Beispiel Java Basics - Anfänger-Themen 3
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
F jscience Beispiel Java Basics - Anfänger-Themen 0
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J Kompilieren von HelloWorld Beispiel schlägt fehl Java Basics - Anfänger-Themen 7
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
M Frage zum generellen Verständiss von OO an einem Beispiel Java Basics - Anfänger-Themen 4
L GridLayout, Beispiel? Java Basics - Anfänger-Themen 2
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
L Beispiel Projekte Java Basics - Anfänger-Themen 3
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
T Erste Schritte für was steht das "this" in dem Beispiel... Java Basics - Anfänger-Themen 2
B Grundlagen von Methoden an folgendem Beispiel Java Basics - Anfänger-Themen 52
E Polymorphie Beispiel Polymorphie Java Basics - Anfänger-Themen 2
M Threads am Beispiel Parkhaus Java Basics - Anfänger-Themen 10
G OOP Beispiel Objekte zugreifen Java Basics - Anfänger-Themen 3
M Suche Beispiel-Spiel Java Basics - Anfänger-Themen 3
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
P wie oop an diesem beispiel verbessern? Java Basics - Anfänger-Themen 31
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
P Datentypen Warum würde dieses Beispiel nicht funktionieren? Java Basics - Anfänger-Themen 6
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
S Objektidentität und gleichheit an diesem Beispiel Java Basics - Anfänger-Themen 7
S Komposition beispiel anhand eines kopierers Java Basics - Anfänger-Themen 4
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
b101 OOP Beispiel Klausur Aufgabe der FH Java Basics - Anfänger-Themen 22
T Java Beispiel Bitte helft mir Java Basics - Anfänger-Themen 5
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
V Präinkrement Beispiel Java Basics - Anfänger-Themen 14
M Swing Beispiel Java Basics - Anfänger-Themen 2
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
M Beispiel-Webprojekt: Statt HSQLDB Postgres verwenden Java Basics - Anfänger-Themen 12
M Serialisierung erstes Beispiel Java Basics - Anfänger-Themen 4
razwed4ik zum Beispiel aus Java Insel Buch Java Basics - Anfänger-Themen 7
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
M Data Access Object - Beispiel Java Basics - Anfänger-Themen 11
M Beispiel für Linked List Java Basics - Anfänger-Themen 9
A programmier beispiel Java Basics - Anfänger-Themen 18
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
Q POI Beispiel Programme Java Basics - Anfänger-Themen 2
J Das schöne Bouncing Ball Beispiel. Java Basics - Anfänger-Themen 20
N Java Insel - RMI Beispiel Java Basics - Anfänger-Themen 12
J Plymorphismus - unklarheit zu einem Beispiel Java Basics - Anfänger-Themen 6
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
M Brauche ein Beispiel für eine set() get() Methode Java Basics - Anfänger-Themen 4
M Komische Syntax bei Double-Buffering-Beispiel Java Basics - Anfänger-Themen 2
M Brauche Hilfe bei Beispiel. Java Basics - Anfänger-Themen 4
S Beispiel für abgestufte Preisliste Java Basics - Anfänger-Themen 2
S Wrapper-Pattern Beispiel Java Basics - Anfänger-Themen 2
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11
E Fehler im Beispiel? Java Basics - Anfänger-Themen 3
B Was ist falsch an dem beispiel? Java Basics - Anfänger-Themen 4
M Beispiel für sinnvolles finally? Java Basics - Anfänger-Themen 17
B schon beim einsteiger-beispiel durchgefallen. Java Basics - Anfänger-Themen 2
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben