java:abstract_classes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
java:abstract_classes [2015/02/15 18:03]
gthanos
java:abstract_classes [2019/03/23 05:00] (current)
gthanos
Line 1: Line 1:
 ====== Abstract Κλάσεις ====== ====== Abstract Κλάσεις ======
  
-Μέχρι τώρα γνωρίσαμε κλάσεις που αποτελούν σχέδια αντικειμένων. Εκτός από τις κλάσεις αυτές, η Java επιτρέπει ορισμό κλάσεων οι οποίες είναι πιο γενικές και δεν μπορούν να υλοποιηθούν απευθείας αντικείμενα. Αν και οι συγκεκριμένες κλάσεις δεν μπορούν να παράγουν αντικείμενα μπορούν να έχουν υποκλάσεις οι οποίες παράγουν αντικείμενα. Οι κλάσεις αυτές έχουν τον προσδιοριστή //​abstract//​ μπροστά από το όνομα της κλάσης ως εξής:+Μέχρι τώρα γνωρίσαμε κλάσεις που αποτελούν σχέδια αντικειμένων. Εκτός από τις κλάσεις αυτές, η Java επιτρέπει ορισμό κλάσεων οι οποίες είναι πιο γενικές και δεν μπορούν να υλοποιήσουν απευθείας αντικείμενα. Αν και οι συγκεκριμένες κλάσεις δεν μπορούν να παράγουν αντικείμενα μπορούν να έχουν υποκλάσεις οι οποίες παράγουν αντικείμενα. Οι κλάσεις αυτές έχουν τον προσδιοριστή //**abstract**// μπροστά από το όνομα της κλάσης ως εξής:
  
-<code java>+<​code ​java GraphicObject.java>
 public abstract class GraphicObject { public abstract class GraphicObject {
    // declare fields    // declare fields
Line 26: Line 26:
       this.address = address;       this.address = address;
       this.id = id;       this.id = id;
-   ​} ​  ​ +   ​} ​ 
-   ​public abstract int computeSalary() ​{ + 
-   }   +   ​public abstract int computeSalary(); 
    ​public String toString() {    ​public String toString() {
-      return name + " " + address + " " + number;+      return name + " " + address + " " + id;
    }    }
    ​public String getName() {    ​public String getName() {
Line 42: Line 43:
    }    }
    ​public int getNumber(){    ​public int getNumber(){
-     ​return ​number;+     ​return ​id;
    }    }
 } }
Line 50: Line 51:
 public class Secretary extends Employee { public class Secretary extends Employee {
    int salary;    int salary;
-   ​public Secretary(String name, String address, int id, int montly_salary) {+   ​public Secretary(String name, String address, int id, int monthly_salary) {
       super(name, address, id);       super(name, address, id);
       salary = monthly_salary;​       salary = monthly_salary;​
    }    }
-   int computeSalary() {+   public ​int computeSalary() {
       return salary;       return salary;
 +   }
 +   ​public String toString() {
 +      return super.toString() + " " + salary;
    }    }
 } }
 </​code>​ </​code>​
 +
 +|Προηγούμενο:​ [[ :​java:​polymorphism | Στατικός και Δυναμικός Πολυμορφισμός ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :​java:​interface | Interfaces ]]|
  
java/abstract_classes.1424023406.txt.gz · Last modified: 2016/02/26 11:15 (external edit)