ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
Advertisements

ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Γλωσσική Τεχνολογία Object-Orientation in Python.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
ΠΕΡΙΓΡΑΦΗ ΓΛΩΣΣΑΣ PYTHON
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) OOP Concepts and Object-Oriented Design.
Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Classes, Objects, και Events.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γενικευμένες κλάσεις Συλλογές.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Syntax and Style.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
D P ROGRAMMING L ANGUAGE Νικόλας Χ''θεοφάνους Γιάννης Κωνσταντίνου Δεσποιάνα Αντωνίου.
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
Τι είναι το ΑΞΙΟΜΑ Καινοτόμο σύστημα ανίχνευσης και αξιολόγησης των βασικών γνωστικών δεξιοτήτων και ενίσχυσης των κοινωνικών δεξιοτήτων.
ΙV εξάμηνο Νοσηλευτικού Τμήματος ΤΕΙ Λάρισας Η έννοια της γενικής χειρουργικής Βασική ορολογία 02.ΙΙΙ.2010 Δ. Παπαγόρας.
ANAΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Aντικειμενοστρεφής Ανάπτυξη Συστημάτων Εισαγωγή στη UML.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Παράδειγμα Κληρονομικότητας Γενικευμένες κλάσεις.
Eισαγωγή στο SPSS. Tι είναι το SPSS Το SPSS (Superior Performance Software System) είναι το πιο διαδεδομένο πρόγραμμα για τη στατιστική ανάλυση δεδομένων.
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
Επιλογή τοποθεσίας και προγραμματισμός των εγκαταστάσεων
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Διαγράμματα Κλάσεων Ανάλυση Συστημάτων 2007.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ (SOFTWARE ENGINEERING) UML – διαγράμματα περιπτώσεων χρήσης, διαγράμματα κλάσεων, διαγράμματα ακολουθίας, διαγράμματα δραστηριότητας,
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
Ασκήσεις Κεφάλαιο 14.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ
Κληρονομικότητα [inheritance]
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ασκήσεις Κεφάλαιο 11.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Β΄ ΠΛΗΡΟΦΟΡΙΚΗΣ
Αντικειμενοστραφής Προγραμματισμός (Object Oriented Programming)
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Κελυφοποιημένα δεδομένα [encapsulated data]
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Διδάσκων: Κων/νος Κώτης
Πρότυπα Προγραμματισμού
«Από τη MicroWorlds Pro στην Python»
JAVA – Basic OOP Principles
Οικιακή Οικονομία Α’ Γυμνασίου Μάθημα 6ο. Διδάσκων καθηγητής
Πληροφοριακά Συστήματα: Μοντελοποίηση με UML
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (Κ105)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Παρουσίαση ερευνητικού
Wrapper Classes, Abstract Classes and Interfaces
Παιδαγωγικού Ινστιτούτου & Εκπαιδευτικής Πύλης του Υ.Π.Ε.Θ.
ΝΙΚΟΛΑΟΣ ΑΒΟΥΡΗΣ, κ.ά., PYTHON, Εισαγωγή στους υπολογιστές, ΠΕΚ 2016,
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ αΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ 4η Διάλεξη (γ) Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ

Σκοπός Διάλεξης η παράθεση βασικών εννοιών & ορισμών τoυ Αντικειμενοστραφή Προγραμματισμού

Αντικειμενοστραφής Προγραμματισμός Δομημένος Προγραμματισμός Ο δομημένος προγραμματισμός (structured programming) βασίζεται στην οργάνωση του προγράμματος σε μικρές, αυτόνομα κατανοητές, οντότητες Για να επιτευχθεί αυτό κάθε οντότητα έχει ένα σημείο εισόδου και ένα σημείο εξόδου Η δομή του προγράμματος βασίζεται σε τρεις μόνο λογικές δομές: ακολουθία (sequence) επιλογή (condition) επανάληψη (repetition) Με τη χρήση των παραπάνω δομών μπορεί να εκφραστεί οποιοσδήποτε αλγόριθμος Σε περιπτώσεις που η σχολαστική τήρηση των παραπάνω κάνει το πρόγραμμα δυσανάγνωστο πρέπει οι εξαιρέσεις να κωδικοποιούνται δομημένα, τεκμηριωμένα, με οικονομία στη χρήση τους, και με τάξη

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός Μειονεκτήματα (-) Η πολυπλοκότητα Τα δεδομένα έχουν υποεκτιμηθεί Η τοπικότητα των μεταβλητών Υπάρχουν οι καθολικές αλλά τότε αυξάνει η  πολυπλοκότητα Αυξημένη πιθανότητα λάθους Αυξημένη πολυπλοκότητα και στη διαχείριση των δεδομένων Η δημιουργία νέων τύπων δεδομένων είναι  δύσκολη

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός, ΑΠ (object oriented programming, ΟΟΡ) προγραμματιστική τεχνική έμφαση στη  δημιουργία μονάδων οι οποίες  θα  περιλαμβάνουν τα δεδομένα αλλά και  τις εντολές που τα διαχειρίζονται βασίζεται στα αντικείμενα (object) και στις αλληλεπιδράσεις μεταξύ τους

Αντικειμενοστραφής Προγραμματισμός Ο κόσμος αποτελείται από αντικείμενα απλά ή  σύνθετα, που αλληλεπιδρούν μεταξύ τους που αλληλεπιδρούν μεταξύ τους Για κάθε αντικείμενο του φυσικού κόσμου  μπορούμε να ορίσουμε, μια αφηρημένη έννοια που  περιγράφει: - τον τρόπο με τον οποίο το αντικείμενο  επικοινωνεί μετο περιβάλλον του - το πώς αυτό είναι οργανωμένο εσωτερικά ο ΑΠ ονομάζει στιγμιότυπα (instances) τα  πραγματικά αντικείμενα και κλάσεις (classes) τις  αφηρημένες έννοιες που τα περιγράφουν.

Αντικειμενοστραφής Προγραμματισμός Κλάσεις κα αντικείμενα είναι οι δύο κύριες πτυχές του αντικειμενοστραφή προγραμματισμού Η κλάση δημιουργεί ένα νέο τύπο, όπου τα αντικείμενα είναι στιγμιότυπα της κλάσης Κλάση: Προγραμματιστής Η/Υ Στιγμιότυπο: Δ.Παπαχρήστος Κλάση: Γλώσσα Προγραμματισμού Στιγμιότυπο: Python

Αντικειμενοστραφής Προγραμματισμός Κλάσεις Αντικείμενα ή στιγμιότυπα

Αντικειμενοστραφής Προγραμματισμός Διαθέτει μηχανισμούς: απόκρυψης πληροφορίας περάσματος μηνυμάτων  δημιουργίας και καταστροφής  στιγμιοτύπων  αναπαράστασης ιεραρχίας κληρονομικότητας 

Αντικειμενοστραφής Προγραμματισμός Οι μηχανισμοί αυτοί βελτιώνουν την  ποιότητα  του λογισμικού ως προς τα  χαρακτηριστικά του: επαναχρησιμοποίηση (reusability) επεκτασιμότητα (extendibility) ορθότητα (correctness) ευρωστία (robustness) συντηρησιμότητα (maintainability)

Αντικειμενοστραφής Προγραμματισμός Βασικά χαρακτηριστικά ΑΠ

Αντικειμενοστραφής Προγραμματισμός Κλάση στην Python: H κλάση card() αφορά «θεωρητικά» μια τράπουλα: Τα c1 & c2 είναι μεταβλητές που παίρνουν ως τιμή αυτό που επιστρέφει η card() Η card() είναι μια «μηχανή» που φτιάχνει τραπουλόχαρτα

Αντικειμενοστραφής Προγραμματισμός Για να αποκτήσουν τα τραπουλόχαρτα τιμή – αξία πρέπει να γραφτεί πάνω τους μέσω dot notation ορίζοντας χαρακτηριστικά (ιδιότητες) και τιμές: c1: 5 καρώ (d=diamond), κόκκινο (R=red) όχι φιγούρα (c1.fig=False) c2: 5 ρήγας (K=King), σπαθί (c=club) μαύρο (B-black) & φιγούρα (c2.fig=True)

Αντικειμενοστραφής Προγραμματισμός Πλέον μπορεί να χρησιμοποιηθούν αυτές οι τιμές: Πρόγραμμα «τραπουλομηχανής» όπου κάνουμε χρήση συνάρτησης (def) όπου δέχεται τις δύο παραμέτρους (value, symbol) και υπολογίζει τις άλλες δύο (color, fig):

Αντικειμενοστραφής Προγραμματισμός Όνομα συνάρτησης: _init_ (ειδικές συναρτήσεις) Καθορίζει πως θα συμπεριφέρονται τα αντικείμενα που θα δημιουργεί η κλάση Ορίζει επακριβώς τι γίνεται μόλις δημιουργηθεί ένα αντικείμενο Η ονομασία “self” χρησιμοποιείται γιατί δεν γνωρίζει πως θα ονομασθεί το αντικείμενο (c1 ή c2) Συνεπώς : c1=card(‘5’,’d’) -> self=c1 , val=‘5’ , sym = ‘d’

Αντικειμενοστραφής Προγραμματισμός στη συνέχεια θα εκτελεστούν οι 2 πρώτες εντολές της συνάρτησης _init_ : και θα δοθούν τιμές στην c1.value & c1.symbol έτσι στις επόμενες εντολές υπολογίζονται οι τμές των c1.color & c1.fig: η κλάση card() δεν περιλαμβάνει τις παραμέτρους κατά τον ορισμό της κλάσης γιατί χρησιμοποιείται για άλλο σκοπό δηλ. να ορίσει κληρονομικότητα από άλλες κλάσεις

Αντικειμενοστραφής Προγραμματισμός Μπορούμε να τυπώνουμε τις τμές όλων των ιδιοτήτων των αντικειμένων που ορίζουμε: Αν τυπώσουμε το ίδιο το αντικείμενο, παίρνουμε μόνο αναφορές στις διευθύνσεις μνήμης σην οποία βρίσκονται:

Αντικειμενοστραφής Προγραμματισμός Κάθε αντικείμενο μπορούμε να το φανταστούμε σαν ένα κουτί που περιέχει τιμές για διάφορες ιδιότητες, ενδεχομένως συναρτήσεις/μεθόδους, ακόμα και άλλα αντικείμενα/κουτιά

Αντικειμενοστραφής Προγραμματισμός Η __str__ δεν χρειάζεται άλλη παράμετρο παρά μόνο το αντικείμενο (self) πάντα επιστρέφει ένα αλφαριθμητικό (string) Εδώ επιστρέφει το self.value+self.symbol Συνεπώς μπορούμε πλέον να δώσουμε:

Αντικειμενοστραφής Προγραμματισμός εκτός από τις ειδικές συναρτήσεις μπορούμε να προσθέσουμε μέσα στην κλάση δικές μας συναρτήσεις οι οποίες θα καλούνται ως μέθοδοι με dot notation:

Αντικειμενοστραφής Προγραμματισμός Δημιουργία νέας κλάσης που θα δημιουργεί πλήρεις τράπουλες με όλα τα τραπουλόχαρτα Μια κλάση μπορεί να καλέσει αντικείμενα άλλης κλάσης

Αντικειμενοστραφής Προγραμματισμός 4 μεταβλητές μέσα στην κλάση deck αλλά έξω από τις μεθόδους (για να τις προσπελάσει μια μέθοδος θα πρέπει να τις καλέσει με dot notation από το αντικείμενο self, πχ. self.values) Η values περιέχει σε ένα αλφαριθμητικό όλες (13) τις πιθανές αξίες ενός τραπουλόχαρτου στην __init__συνδυάζουμε τις 13 αξίες με τα 4 σύμβολα για να φτιάξουμε όλα τα 13x4=52 τραπουλόχαρτα τα αποθηκεύουμε σε μία λίστα (content) που γεμίζει από την __init__ η λίστα pile χρησιμοποιείται ως μνήμη για να «θυμάται» η τράπουλα ποιά φύλλα έχει μοιράσει (δεν είναι απαραίτητη, όμως διευκολύνει όταν τελειώσει ένα παιχνίδι και θα πρέπει να ξανασυγκεντρωθούν όλα τα χαρτιά στην τράπουλα για να αρχίσει το επόμενο η μέθοδος collect() μαζεύει τα τραπουλόχαρτα από την pile

Αντικειμενοστραφής Προγραμματισμός Η __init__ έχει μόνο ένα όρισμα, το self για να δημιουργήσουμε μια τράπουλα δεν δίνουμε καμμία παράμετρο στην deck: >>> d=deck() Το πρώτο for περνάει από όλα τα σύμβολα, το δεύτερο από όλες τις αξίες, και η c=card(v,s) δημιουργεί ένα τραπουλόχαρτο το οποίο μπαίνει στο τέλος της content με την κλήση self.content.append(c) Όταν τελειώσουν οι δύο for όλα τα τραπουλόχαρτα θα είναι με τη σειρά στη λίστα content τον τρόπο εκτύπωσης καθορίζει η __str__:

Αντικειμενοστραφής Προγραμματισμός Ανακάτεμα τράπουλας (καλεί μια μέθοδο με όμοιο όνομα από το module random για αυτό δηλώνουμε import την random στην αρχή του κώδικα) Μοίρασμα φύλου (χρήση μεθόδου draw() που έχει προγραμματιστεί στην κλάση και όταν καλείται επιστρέφει το φύλλο που βρίσκεται πρώτο (self.content[0]) στην τράπουλα, εκτός αν είναι άδεια, οπότε επιστρέφει «empty». Το φύλλο αφαιρείται από τη λίστα content και ένα αντίγραφό του αποθηκεύεται στην pile)

Αντικειμενοστραφής Προγραμματισμός Η μέθοδος collect() προσθέτει την pile στο τέλος της content και μετά αδειάζει την pile Με αυτόν τον τρόπο ξανασυγκεντρώνει όλα τα φύλλα της τράπουλας για να ξεκινήσει νέο παιχνίδι

Αντικειμενοστραφής Προγραμματισμός Η κληρονομικότητα (inheritance) παρέχει έναν βολικό μηχανισμό για την κατασκευή ομάδων συσχετισμένων αφαιρέσεων Επιτρέπει στους προγραμματιστές να δημιουργούν μια ιεραρχία τύπων στην οποία κάθε τύπος κληρονομεί ιδιότητες από τους τύπους που βρίσκονται ψηλότερα από αυτόν στην ιεραρχία

Αντικειμενοστραφής Προγραμματισμός Person TEI Person Student Undergr graduat

Αντικειμενοστραφής Προγραμματισμός class TEIPerson (Person): nextIdNum = 0 # αναγνωριστικός αριθμός def __init__(self,name): Person.__init__(self,name) self.idNum = TEIPerson.nextIdNum TEIPerson.nextIdNum+=1 def getIdNum(self): return self.idNum def __It__(self,other): return self.idNum < other.idNum

Αντικειμενοστραφής Προγραμματισμός class Student (TEIPerson): pass class Undergr(Student): def __init__(self, name, ClassYear): TEIPerson.__init__(self, name) self.year = clasYear def getClass(self): return self.year class Graduat(Student):

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός Αρχή αντικατάστασης Οι υποκλάσεις επεκτείνουν την συμπεριφορά των υπερκλάσεων τους Επιτυγχάνεται με την προσθήκη νέων ιδιοτήτων ή την υποσκέλιση ιδιοτήτων που κληρονομούνται από μια υπερκλάση

Αντικειμενοστραφής Προγραμματισμός class TransferStudent(Student): def __init__(self, name, fromschool): TEIPerson.__init__(self, name) self.fromschool = fromSchool def get0ldSchool(self): return self.fromschool

Αντικειμενοστραφής Προγραμματισμός UML & OOP Το διάγραμμα κλάσης είναι ένας γράφος που περιέχει διασυνδέσεις, πακέτα, σχέσεις & στιγμιότυπα (αντικείμενα, συνδέσμους) Το διάγραμμα αντικειμένων είναι ένας γράφος στιγμιότυπων (αντικειμένων, τιμών δεδομένων) Τα διαγράμματα κλάσεων (Class diagrams) βοηθούν τον εντοπισμό των κυρίαρχων εννοιών και συνεπώς την κατανόηση του πεδίου εφαρμογής (πολύ βασικό στην αρχή ενός έργου)

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Αντικειμενοστραφής Προγραμματισμός UML & OOP

Σας ευχαριστώ για την προσοχή σας…