ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σχετικά έγγραφα
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διοικητική Λογιστική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Βάσεις Περιβαλλοντικών Δεδομένων

Διοικητική Λογιστική

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Ασφάλεια Πληροφοριακών Συστημάτων

Διδακτική Πληροφορικής

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Βάσεις Περιβαλλοντικών Δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Τεχνικό Σχέδιο - CAD

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Τεχνικό Σχέδιο - CAD

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Τεχνικό Σχέδιο - CAD

Δομή διαδικτυακών Πολυμέσων

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διοικητική Λογιστική

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Πληροφορική

Τεχνικό Σχέδιο - CAD

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Διδακτική Πληροφορικής

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Διδακτική Πληροφορικής

Διαχείριση Πολιτισμικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Τεχνικό Σχέδιο - CAD

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διοικητική Λογιστική

Εισαγωγή στην Πληροφορική

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διδακτική Πληροφορικής

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Διοικητική Λογιστική

Εισαγωγή στην Πληροφορική

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Διοικητική Λογιστική

Τεχνολογία Πολιτισμικού Λογισμικού

Δομημένος Προγραμματισμός

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Τεχνολογία Πολιτισμικού Λογισμικού

Διοικητική Λογιστική

Οργάνωση και Λειτουργία Ταξιδιωτικής Βιομηχανίας Ι

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Δομημένος Προγραμματισμός

Εισαγωγή στην Πληροφορική

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διδακτική Πληροφορικής

Τεχνολογία Πολιτισμικού Λογισμικού

Δομημένος Προγραμματισμός

ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΠΟΛΙΤΙΚΗ & ΝΟΜΟΘΕΣΙΑ ΜΑΘΗΜΑ 1

Δομημένος Προγραμματισμός

Τεχνικό Σχέδιο - CAD

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνικό Σχέδιο - CAD

Τεχνικό Σχέδιο - CAD. Εισαγωγή στα Προγράμματα CAD. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πληροφορική ΙΙ Θεματική Ενότητα 5

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Τεχνικό Σχέδιο - CAD

Βάσεις Περιβαλλοντικών Δεδομένων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στην Πληροφορική

Εισαγωγή στους Αλγορίθμους

Ασφάλεια Πληροφοριακών Συστημάτων

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Εισαγωγή στην Πληροφορική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Ασφάλεια Πληροφοριακών Συστημάτων

Εισαγωγή στους Αλγορίθμους

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

Transcript:

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 9: Πολλαπλή κληρονομικότητα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Αντικειμενοστραφής Προγραμματισμός Διάλεξη 9 Βαγγέλης Οικονόμου

Περιεχόμενα Πολλαπλή Κληρονομικότητα

Πολλαπλή Κληρονομικότητα Είναι δυνατόν από πολλές κλάσεις βάσης να απορρέει μια νέα κλάση Αυτό λέγεται πολλαπλή κληρονομικότητα Για να προέλθει μια κλάση από περισσότερες από μια κλάσεις βάσεις, διαχωρίζουμε με κόμματα καθε μία κλάση βάσης στη δήλωση κλάσης Παράδειγμα: class A:public C, public B

Παράδειγμα 1 Animal Animal Χαρακτηριστικά: ηλικία, βάρος Ενέργειες: Κινούμαι Χαρακτηριστικά: - Ενέργειες: Πετώ Bird Horse Χαρακτηριστικά: - Ενέργειες: Τρέχω (pegasus) Unicorn Χαρακτηριστικά: - Ενέργειες: -

Μέλη Αντικειμένου Μέλη αντικειμένου προερχόμενο απο πολλαπλή κληρονομικότητα: Παράδειγμα Unicorn: Animal Bird Horse Τι συμβαίνει όμως όταν υπάρχουν μεταβλητές ή μέθοδοι με κοινά ονόματα;

Παράδειγμα 2 Animal Animal Χαρακτηριστικά: ηλικία, βάρος Ενέργειες: Κινούμαι Χαρακτηριστικά: Χρώμα Ενέργειες: Πετώ Bird Horse Χαρακτηριστικά: Χρωμα Ενέργειες: Τρέχω (pegasus) Unicorn Χαρακτηριστικά: - Ενέργειες: - Ποιό χρώμα θα κληρονομήσει;

Άσκηση Η παρακάτω άσκηση αναφέρεται στην χρήση στατικών μεταβλητών σε μια κλάση και στην έννοια της κληρονομικότητας. Μια στατική μεταβλητή ή συναρτηση «ανήκει» στην κλάση (ή την κατηγορία) και είναι κοινή για όλα τα αντικέιμενα αυτής της κλάσης. Έστω ότι θέλετε να σχεδιάσετε ένα παιχνίδι. Σε αυτό το παιχνίδι θα υπάρχουν 2 φυλές, οι Human (Άνθρωποι) και τα Elf (Ξωτικά). Προφανώς σε αυτες τις 2 φυλές θα υπάρχουν κοινά χαρακτηριστικά και χαρακτηριστικά που θα τις κάνουν να διαφέρουν. Στο παράδειγμα μας θα χρησιμοποιήσουμε ένα κοινό χαρακτηριστικό, τη ζωή (ή hit points), ενώ οι δυο φυλές διαφέρουν στο εξής: Τα Ξωτικά έχουν μαγική δύναμη ενώ οι Ανθρωποι έχουν φυσική δύναμη.

Άσκηση (συνέχεια) Δημιουργήστε μια κλάση με το όνομα Player, που θα είναι η κλαση βάσης. Η κλάση Player θα έχει ένα προστατεύομενο μέλος, τα hit_points, καθώς και μια στατική μεταβλητή τύπου ακέραιου (static int) που θα μετράει πόσοι πάικτες δημιουργηθήκαν. Υλοποιήστε τις παρακάτω συναρτήσεις της κλάσης Player: 1. Συναρτήσεις πρόσβασης για τo ιδιωτικό μέλος της κλάσης. 2. Μια συνάρτηση δημιουργίας, χωρίς ορίσματα που θα θέτει τα hit_points ίσον με το μηδέν και θα αυξάνει τη στατική μεταβλητή. Από την κλάση Player θα προκύπτουν οι κλάσεις Human και Elf. Η κλάση Human θα έχει μια ιδιωτική μεταβλήτη που θα εκφράζει την φυσική δύναμη (physical_power), ενώ η κλάση Elf θα έχει μια ιδιωτική μεταβλήτη που θα εκφράζει την μαγική δύναμη (magical_power). Δημιουργήστε συναρτήσεις δημιουργίας για αυτες τις 2 κλάσεις με 2 ορίσματα, όπως και συναρτήσεις πρόσβασης για τα ιδιωτικά μέλη τους. Επίσης, η κάθε κλάση θα έχει μια στατική μεταβλητή που θα μετράει πόσα Elfs και πόσοι Humans δημιουργήθηκαν.

Άσκηση (συνέχεια) Στην main συνάρτηση θα δηλώσετε 2 αντικείμενα τύπου Elf με τη βοήθεια δεικτων, όπου θα δώσετε τιμές μέσω των συναρτησεων δημιουργίας και θα εμφανιζετε στην οθόνη τις τιμές των μεταβλητών μέσω των συναρτήσεων πρόσβασης. Με παρόμοιο τρόπο θα δημιουργήσετε και ένα αντικέιμενο τύπου Human και θα κάνετε τις αντίστοιχες ενέργειες. Έπειτα, θα εμφανίσετe στην οθόνη πόσοι παίκτες δημιουργήθηκαν, πόσα Elfs και πόσοι Humans, δηλ. θα εμφανίσετε τις τιμές των τριών στατικών μεταβλητών στην οθόνη. Τέλος, θα διαγράψετε τους δείκτες που δημιουργήσατε.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.