Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Κληρονομικότητα [inheritance]

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Κληρονομικότητα [inheritance]"— Μεταγράφημα παρουσίασης:

1 Κληρονομικότητα [inheritance]

2 Κληρονομικότητα [inheritance]
Τι είναι η κληρονομικότητα; Γιατί είναι σημαντική;

3 Οι κλάσεις CD Video

4 Κελυφοποιημένα δεδομένα [encapsulated data]
αντικείμενο CD αντικείμενο Video title title artist director comment comment Δεδομένα «φυλάσσονται» σε κάθε αντικείμενο

5 Μέθοδοι αντικείμενο CD αντικείμενο Video CD Video set... get... set...
print print Μέθοδοι επενεργούν πάνω στο κάθε αντικείμενο

6 Κώδικας Java (CD) class CD { String title; String artist;
String comment; CD(String theTitle, String theArtist) { title = theTitle; artist = theArtist; comment = “ “; } void setComment(String newComment) { … } String getComment() void print() Κώδικας Java (CD)

7 Κώδικας Java (Video) class Video { String title; String director;
String comment; Video(String theTitle, String theDirector) { title = theTitle; director = theDirector; comment = “ ”; } void setComment(String newComment) { … } String getComment() void print() Κώδικας Java (Video)

8 Μειονεκτήματα Επανάληψη κώδικα στις κλάσεις CD και Video
Επιπλέον εργασία για τροποποίηση του πηγαίου κώδικα Δυο διανύσματα και επανάληψη κώδικα στην κλάση Database

9 Η εναλλακτική λύση: κληρονομικότητα
Item CD Video Σημείωση: «τετράγωνα» εικονίδια αναπαριστούν κλάσεις

10 Τα πεδία των κλάσεων Item CD Video
Οι υποκλάσεις [subclasses] κληρονομούν τα πεδία από τις υπερκλάσεις [superclasses]. Item title comment CD Video artist director CD: title, artist, comment Video: title, director, comment

11 Οι μέθοδοι των κλάσεων Item Video CD
Οι υποκλάσεις κληρονομούν τις μεθόδους από τις υπερκλάσεις. Item setComment() print() ... CD Video CD() Video() getArtist() getDirector() ... ... CD: CD(), getArtist(), setComment(), print() Video: Video(), getDirector(), setComment(), print()

12 Προεκτάσεις Item MusicCD Video VideoGame

13 Επιπλέον προεκτάσεις Item MusicCD Video Game VideoGame BoardGame

14 Ορολογία Κλάση βάσης [base class] Υπερκλάση [superclass]
Γονέας [parent] Παιδί [child] Παραγόμενη κλάση [derived class] Υποκλάση [subclass]

15 Πλεονεκτήματα της κληρονομικότητας
Αποφυγή επανάληψης κώδικα Επαναχρησιμοποίηση κώδικα Πιο εύκολη συντήρηση κώδικα Επεκτασιμότητα [extendability]

16 Κώδικας Java με χρήση κληρονομικότητας
class Item { ... } class MusicCD extends Item class Video extends Item

17 Διάγραμμα κλάσεων [Class diagram]
Database Item MusicCD Video

18 Πηγαίος κώδικας (χρήστης [client])
void list() { for (int i = 0; i < myItems.length; i++) myItems[i].print(); }

19 Η κλάση “Object” Object Person Game Staff Student
(Σχεδόν) κάθε κλάση έχει μία υπερ-κλάση. Εάν η υπερ-κλάση δεν έχει άμεσα δηλωθεί, τότε ως υπερκλάση θεωρείται η κλάση Object Οι μέθοδοι της κλάσης Object είναι διαθέσιμες σε κάθε κλάση Object Person Game Staff Student

20 Πλεονεκτήματα της κληρονομικότητας
Αποφυγή επανάληψης κώδικα από τον χρήστη της κλάσης!


Κατέβασμα ppt "Κληρονομικότητα [inheritance]"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google