This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:abstract_classes [2015/02/15 17:47] gthanos |
java:abstract_classes [2017/02/16 14:04] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== Abstract Κλάσεις ====== |
| - | Μέχρι τώρα γνωρίσαμε κλάσεις που αποτελούν σχέδια αντικειμένων. Εκτός από τις κλάσεις αυτές, η Java επιτρέπει ορισμό κλάσεων οι οποίες είναι πιο γενικές και δεν μπορούν να υλοποιηθούν απευθείας αντικείμενα. Αν και οι συγκεκριμένες κλάσεις δεν μπορούν να παράγουν αντικείμενα μπορούν να έχουν υποκλάσεις οι οποίες παράγουν αντικείμενα. | + | Μέχρι τώρα γνωρίσαμε κλάσεις που αποτελούν σχέδια αντικειμένων. Εκτός από τις κλάσεις αυτές, η Java επιτρέπει ορισμό κλάσεων οι οποίες είναι πιο γενικές και δεν μπορούν να υλοποιήσουν απευθείας αντικείμενα. Αν και οι συγκεκριμένες κλάσεις δεν μπορούν να παράγουν αντικείμενα μπορούν να έχουν υποκλάσεις οι οποίες παράγουν αντικείμενα. |
| + | |||
| + | <code java GraphicObject.java> | ||
| + | public abstract class GraphicObject { | ||
| + | // declare fields | ||
| + | // declare nonabstract methods | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Μία // | ||
| + | |||
| + | Δείτε το παρακάτω παράδειγμα ορισμού μιας // | ||
| + | |||
| + | <code java Employee.java> | ||
| + | public abstract class Employee | ||
| + | { | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | System.out.println(" | ||
| + | this.name = name; | ||
| + | this.address = address; | ||
| + | this.id = id; | ||
| + | } | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | return name + " " + address + " " + id; | ||
| + | } | ||
| + | | ||
| + | return name; | ||
| + | } | ||
| + | | ||
| + | return address; | ||
| + | } | ||
| + | | ||
| + | address = newAddress; | ||
| + | } | ||
| + | | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code java Secretary.java> | ||
| + | public class Secretary extends Employee { | ||
| + | int salary; | ||
| + | | ||
| + | super(name, address, id); | ||
| + | salary = monthly_salary; | ||
| + | } | ||
| + | | ||
| + | return salary; | ||
| + | } | ||
| + | | ||
| + | return super.toString() + " " + salary; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |Προηγούμενο: | ||