java:inheritance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
java:inheritance [2021/03/05 15:31] – [Κληρονομικότητα] gthanos | java:inheritance [2022/03/11 05:21] (current) – gthanos | ||
---|---|---|---|
Line 10: | Line 10: | ||
<code java BasicRectangle.java> | <code java BasicRectangle.java> | ||
- | class BasicRectangle { | + | public |
| | ||
int width; | int width; | ||
int height; | int height; | ||
- | public | + | public |
width = initWidth; | width = initWidth; | ||
height = initHeight; | height = initHeight; | ||
} | } | ||
- | void setWidth(int newWidth ) { | + | |
width = newWidth; | width = newWidth; | ||
} | } | ||
| | ||
- | void setHeight(int newHeight ) { | + | |
height = newHeight; | height = newHeight; | ||
} | } | ||
| | ||
- | int getWidth() { | + | |
return width; | return width; | ||
} | } | ||
| | ||
- | int getHeight() { | + | |
return height; | return height; | ||
} | } | ||
| | ||
- | | + | |
- | return width * height; | + | return |
} | } | ||
- | |||
} | } | ||
</ | </ | ||
Line 67: | Line 66: | ||
void setY(int yPos) { | void setY(int yPos) { | ||
y = yPos; | y = yPos; | ||
+ | } | ||
+ | | ||
+ | public String toString() { | ||
+ | return " | ||
} | } | ||
} | } | ||
Line 72: | Line 75: | ||
<code java Rectangle.java> | <code java Rectangle.java> | ||
- | class Rectangle extends BasicRectangle{ | + | public |
| | ||
Point origin; | Point origin; | ||
Line 86: | Line 89: | ||
} | } | ||
| | ||
- | void setOrigin(Point newOrigin) { | + | |
origin = newOrigin; | origin = newOrigin; | ||
} | } | ||
| | ||
- | Point getOrigin() { | + | |
return origin; | return origin; | ||
+ | } | ||
+ | | ||
+ | int area() { | ||
+ | return width * height; | ||
} | } | ||
// Move rectangle origin by dx,dy | // Move rectangle origin by dx,dy | ||
- | void moveOrigin(int dx, int dy) { | + | |
origin.setX( origin.getX() + dx ); | origin.setX( origin.getX() + dx ); | ||
origin.setY( origin.getY() + dy ); | origin.setY( origin.getY() + dy ); | ||
+ | } | ||
+ | | ||
+ | public String toString() { | ||
+ | String str = origin.toString() + " "; | ||
+ | str = str + super.toString(); | ||
+ | return str; | ||
} | } | ||
} | } | ||
Line 107: | Line 120: | ||
* Η κλάση // | * Η κλάση // | ||
- | * Τα πεδία της κλάσης //Bicycle// είναι private. H πρόσβαση στα πεδία αυτά μπορεί να γίνει μόνο μέσω των public μεθόδων που διαθέτει η κλάση και έχοντας πρόσβαση απευθείας πάνω στα συγκεκριμένα πεδία. | ||
* Βασικό χαρακτηριστικό της κληρονομικότητας είναι ότι η κληρονομούμενη κλάση έχει όλα τα χαρακτηριστικά της γονικής κλάσης. Υπό αυτή την έννοια, | * Βασικό χαρακτηριστικό της κληρονομικότητας είναι ότι η κληρονομούμενη κλάση έχει όλα τα χαρακτηριστικά της γονικής κλάσης. Υπό αυτή την έννοια, | ||
+ | * Παρατηρήστε τη δεσμευμένη λέξη //super// ως πρώτη εντολή του κάθε κατασκευαστή. Μέσω της κλήσης //super// καλείται ο κατασκευαστής της γονικής κλάσης. | ||
</ | </ | ||
===== Προσβασιμότητα των κληρονομούμενων πεδίων ===== | ===== Προσβασιμότητα των κληρονομούμενων πεδίων ===== |
java/inheritance.1614958261.txt.gz · Last modified: 2021/03/05 15:31 (external edit)