cpp:inheritance

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
Last revision Both sides next revision
cpp:inheritance [2020/04/26 12:27]
gthanos
cpp:inheritance [2021/05/07 09:08]
gthanos [Κλήση μιας επανα-ορισμένης μεθόδου της γονικής κλάσης από την υποκλάση]
Line 125: Line 125:
 ^                  ^  μέλη της γονικής κλάσης  ^^^ ^                  ^  μέλη της γονικής κλάσης  ^^^
 ^  προσβασιμότητα  ^  public  ^  protected  ^  private  ^ ^  προσβασιμότητα  ^  public  ^  protected  ^  private  ^
-| μέλη της ίδιας κλάσης  |  ναι  |  ναι  |  ναι +από μεθόδους της ίδιας κλάσης  |  ναι  |  ναι  |  ναι 
-| μέλη υποκλάσης  |  ναι  |  ναι  |  όχι   | +από μεθόδους μίας υποκλάσης  |  ναι  |  ναι  |  όχι   | 
-| μη μέλη της κλάσης  |  ναι  |  όχι  |  όχι  |+από μία άλλη κλάση χωρίς σχέση κληρονομικότητας  |  ναι  |  όχι  |  όχι  |
  
 +===== Κλήση μιας επανα-ορισμένης μεθόδου της γονικής κλάσης από την υποκλάση =====
  
-<WRAP center round info 80%> +Όταν η απόγονος κλάση επαναορίζει μία μέθοδο με το ίδιο //signature// (ίδιο όνομα, ίδιος αριθμός και τύπος ορισμάτων) τότε συχνά θέλουμε να καλέσουμε τη μέθοδο της γονικής κλάσης στην απόγονο κλάση προκειμένου να την επεκτείνουμε. Ο τρόπος κλήσης της γονικής μεθόδου είναι βάζοντας ως πρόθεμα στο όνομα της μεθόδου το όνομα της γονικής κλάσης. Από το παραπάνω παράδειγμα, δείτε την υλοποίηση της συνάρτησης //getArea// στην κλάση //Rectangle// η οποία χρησιμοποιεί την συνάρτηση //getArea// της γονικής κλάσης //Shape//.
-Όταν η απόγονος κλάση επαναορίζει μία μέθοδο με το ίδιο signature (ίδιο όνομα, ίδιος αριθμός και τύπος ορισμάτων) τότε συχνά θέλουμε να χρησιμοποιήσουμε τη γονική μέθοδο προκειμένου να την επεκτείνουμε. Ο τρόπος χρήσης της γονικής μεθόδου είναι βάζοντας ως πρόθεμα στη μέθοδο το όνομα της γονικής κλάσης. Από το παραπάνω παράδειγμα, δείτε την υλοποίηση της συνάρτησης //getArea// στην κλάση //Rectangle// η οποία χρησιμοποιεί την συνάρτηση //getArea// της γονικής κλάσης //Shape//.+
 <code cpp> <code cpp>
 unsigned int Rectangle::getArea() { unsigned int Rectangle::getArea() {
Line 137: Line 137:
 } }
 </code> </code>
-</WRAP> 
  
  
cpp/inheritance.txt · Last modified: 2022/05/13 07:01 by gthanos