Hallo Programmierer,
ich lerne jetzt die Vererbung in Java und habe ein einfaches Beispiel gefunden .
ist folgendes:
Klasse Shape:
public class Shape {
private double center[] = new double[2];
public Shape() {
center[0] = 0.0;
center[1] = 0.0;
}
public void setCenter(double x, double y) {
center[0] = x;
center[1] = y;
}
public double getCenterX() {
return center[0];
}
public double getCenterY() {
return center[1];
}
}
UnterKlasse Circle (mit extends):
public class Circle {
private double radius;
public Circle() {
radius = 0.0;
}
public void setRadius(double r) {
radius = r;
}
public double getRadius() {
return radius;
}
}
und das Beispielprogramm:
public class Beispielprogramm {
public static void main(String args[]) {
Shape sha = new Shape();
Circle cir = new Circle();
sha.setCenter(1.0, 2.0);
cir.setRadius(4.0);
System.out.println("Shape(xy) :" + sha.getCenterX() + " "
+ sha.getCenterY());
System.out.println("Circle (r): " + cir.getRadius());
}
}
Das Problem ist: wenn ich auch die klasse Circle ohne extends von Shape schreibe ,erhalte ich dieselbe Ausgabe, die folgendes ist :
Shape(xy) :1.0 2.0
Circle (r): 4.0
//dann kann ich sagen, dass die Klasse Circle nicht eine Vererbung von Klasse Shape sein muss oder ?!
ich lerne jetzt die Vererbung in Java und habe ein einfaches Beispiel gefunden .
ist folgendes:
Klasse Shape:
public class Shape {
private double center[] = new double[2];
public Shape() {
center[0] = 0.0;
center[1] = 0.0;
}
public void setCenter(double x, double y) {
center[0] = x;
center[1] = y;
}
public double getCenterX() {
return center[0];
}
public double getCenterY() {
return center[1];
}
}
UnterKlasse Circle (mit extends):
public class Circle {
private double radius;
public Circle() {
radius = 0.0;
}
public void setRadius(double r) {
radius = r;
}
public double getRadius() {
return radius;
}
}
und das Beispielprogramm:
public class Beispielprogramm {
public static void main(String args[]) {
Shape sha = new Shape();
Circle cir = new Circle();
sha.setCenter(1.0, 2.0);
cir.setRadius(4.0);
System.out.println("Shape(xy) :" + sha.getCenterX() + " "
+ sha.getCenterY());
System.out.println("Circle (r): " + cir.getRadius());
}
}
Das Problem ist: wenn ich auch die klasse Circle ohne extends von Shape schreibe ,erhalte ich dieselbe Ausgabe, die folgendes ist :
Shape(xy) :1.0 2.0
Circle (r): 4.0
//dann kann ich sagen, dass die Klasse Circle nicht eine Vererbung von Klasse Shape sein muss oder ?!
Zuletzt bearbeitet: