Want to make creations as awesome as this one?

More creations to inspire you

KING KONG VFX

Interactive Image

BANFF NATIONAL PARK

Interactive Image

JUDO

Interactive Image

THE EUKARYOTIC CELL

Interactive Image

RAINFOREST

Interactive Image

Transcript

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

"

Σύμφωνα με την αντικειμενοστραφή θεωρία ανάπτυξης εφαρμογών, η επίλυση ενός προβλήματος επιτυγχάνεται με τη σύνθεση ικανοτήτων (ο τρόπος υλοποίησης των οποίων μας είναι άγνωστος) που διαθέτουν διαφορετικές ανεξάρτητες οντότητες, οι οποίες αλληλεπιδρούν για τον σκοπό αυτό.

"

Παράδειγμα: Αποστολή λουλουδιών

Απόσπασμα βίντεο (2:33 έως 4:45)

You can write an

Παραγγελία πίτσας

Ας υποθέσουμε ότι θέλετε να φάτε μία πίτσα και δεν έχετε ούτε την "τεχνογνωσία" ούτε και τα υλικά για να την φτιάξετε. Τί κάνετε;

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

Στο παράδειγμα υπάρχουν 3 βασικά αντικείμενα, όπως θα λέγαμε στη γλώσσα του αντικειμενοστραφούς προγραμματισμού, τα οποία αλληλεπιδρούν μεταξύ τους με μηνύματα. Τα αντικείμενα αυτά είστε εσείς, ο κ. Αλέξανδρος και ο κ. Πέτρος.

Στο σενάριο αυτό, έστω η Ελένη είναι ο πελάτης, ο κ. Αλέξανδρος είναι ο μάγειρας/ιδιοκτήτης της πιτσαρίας και ο κ. Πέτρος είναι ο διανομέας πίτσας. Το μήνυμα που απευθύνει η Ελένη στον κ. Αλέξανδρο είναι η παρασκευή της πίτσας (ή αλλιώς παραγγελία πίτσας) και ο κ. Αλέξανδρος το μήνυμα που απευθύνει με την σειρά του στο κ. Πέτρο είναι η παράδοση της πίτσας.

Απόκρυψη λεπτομερειών

Δεν χρειάζεται να γνωρίζετε τις λεπτομέρειες παρασκευής της πίτσας. Η απόκρυψη των λεπτομερειών είναι μία από τις σημαντικές αρχές που χαρακτηρίζουν τον αντικειμενοστραφή προγραμματισμό.Παρόμοια, όταν ο κ. Αλέξανδρος δίνει τις πίτσες στον κ. Πέτρο με το μήνυμα να τις παραδώσει, δεν χρειάζεται να γνωρίζει όλες τις λεπτομέρειες για το πώς θα επιτευχθεί η παράδοση της παραγγελίας.

"

Το «χτίσιμο» μιας αντικειμενοστραφούς εφαρμογής επιτυγχάνεται με τη δημιουργία και τον χειρισμό αντικειμένων τα οποία πρέπει να συνεργαστούν για την επίτευξη του κοινού στόχου που είναι η επίλυση του προβλήματος. Με ποιον όμως τρόπο εργαζόμαστε, ώστε να εντοπίσουμε τα απαραίτητα δομικάστοιχεία της εφαρμογής;

"

4.2 Χτίζοντας αντικειμενοστραφή προγράμματα

Μέθοδοι

Αντικείμενα

Ιδιότητες

Το μόνο που έχουμε να κάνουμε είναι να αναλύσουμε το πρόβλημα, δηλαδή να αναγνωρίσουμε και να καταγράψουμε τα βασικά συστατικά στοιχεία της διαδικασίας επίλυσής του που είναι: 1. τα αντικείμενα που συμμετέχουν με βάση τον ρόλο τους στο συγκεκριμένο σενάριο, 2. οι ιδιότητες κάθε αντικειμένου, δηλ. τα σχετικά με το συγκεκριμένο πρόβλημα χαρακτηριστικά του, και 3. οι υπηρεσίες που προσφέρει ή οι ενέργειες που υλοποιεί κάθε αντικείμενο (μέθοδοι) προς αξιοποίηση από άλλες, ώστε να αναπτυχθούν οι απαραίτητες συνεργασίες μεταξύ των αντικειμένων για την επίλυση του προβλήματος.

Μεθοδολογία

+ Info

+ Info

+ Info

+ Info

Αντικείμενα

Ιδιότητες

Μέθοδοι

  • Μαμά (Πελάτης): Όνομα, Επώνυμο, Διεύθυνση, Τηλέφωνο, Email
  • Άννα (Πελάτης): Όνομα, Επώνυμο, Διεύθυνση, Τηλέφωνο, Email
  • Γιώργος (Ανθοπώλης): Επωνυμία εταιρείας, Όνομα Ιδιοκτήτη, Επώνυμο Ιδιοκτήτη, Διεύθυνση, ΑΦΜ, Τηλέφωνο, Email, Τραπεζικός Λογαριασμός, Κωδικός Δικτύου Συνεργασίας
  • Τζιοβάνι (Ανθοπώλης): Επωνυμία εταιρείας, Όνομα Ιδιοκτήτη, Επώνυμο Ιδιοκτήτη, Διεύθυνση, ΑΦΜ, Τηλέφωνο, Email, Τραπεζικός Λογαριασμός, Κωδικός Δικτύου Συνεργασίας
  • Αντόνιο (Ανθοδέτης): Επωνυμία εταιρείας, Όνομα Ιδιοκτήτη, Επώνυμο Ιδιοκτήτη, Διεύθυνση, ΑΦΜ, Τηλέφωνο, Email, Ειδικότητα, Ωριαία αμοιβή
  • Πέπε (Ταχυμεταφορέας): Επωνυμία εταιρείας, Όνομα Ιδιοκτήτη, Επώνυμο Ιδιοκτήτη, Διεύθυνση, ΑΦΜ, Τηλέφωνο, Email, Τύπος

  • Μαμά (Πελάτης): ΚάνειΠαραγγελία()
  • Γιώργος (Ανθοπώλης): ΔέχεταιΠαραγγελία(), ΖητάΣυνεργασία()
  • Τζιοβάνι (Ανθοπώλης): ΑποδέχεταιΣυνεργασία(), ΑναθέτειΑνθοδεσία(), ΑναθέτειΠαράδοση()
  • Αντόνιο (Ανθοδέτης): ΕτοιμάζειΑνθοδέσμη()
  • Πέπε (Ταχυμεταφορέας): ΠαραδίδειΑνθοδέσμη()
  • Άννα (Πελάτης): ΠαραλαμβάνειΑνθοδέσμη()

Μέσα σε παρένθεση αναφέρεται ο ρόλος κάθε αντικειμένου.

  • Μαμά (Πελάτης),
  • Γιώργος (Ανθοπώλης),
  • Τζιοβάνι (Ανθοπώλης),
  • Αντόνιο (Ανθοδέτης),
  • Πέπε (Ταχυμεταφορέας),
  • Άννα (Πελάτης)

  • Παραγγελία: Μαμά (Πελάτης) - Γιώργος (Ανθοπώλης)
  • Συνεργασία: Γιώργος (Ανθοπώλης) - Τζιοβάνι (Ανθοπώλης)
  • Ανάθεση ανθοδεσίας: Τζιοβάνι (Ανθοπώλης) - Αντόνιο (Ανθοδέτης)
  • Ανάθεση παράδοσης: Τζιοβάνι (Ανθοπώλης) - Πέπε (Ταχυμεταφορέας)
  • Παράδοση: Πέπε (Ταχυμεταφορέας) - Άννα (Πελάτης)

4.2.2 Διαγραμματική αναπαράσταση

4.2.2 Διαγραμματική αναπαράσταση

με βάση την εξής ιστορία

Ο κ. Αντώνης - έμπορος έργων τέχνης στο επάγγελμα - διατηρεί στην τράπεζα “SMTM INC” αποταμιευτικό λογαριασμό για προσωπικούς/οικογενειακούς λόγους αλλά και έναν δεύτερο επαγγελματικό λογαριασμό. Μέσω του επαγγελματικού λογαριασμού ο κ. Αντώνης μπορεί να πληρώνει χωρίς έξοδα τους συνεργάτες του αλλά επίσης να έχει μία πλήρη ενημέρωση για τις κινήσεις του ηλεκτρονικού καταστήματός του. Εξυπηρετείται από το κατάστημα Θεσσαλονίκης όπου διευθυντής είναι ο κ. Μανώλης, γνωστός του από παλιά! Όταν χρειάστηκε να ανοίξει οποιονδήποτε από τους λογαριασμούς του ο κ. Αντώνης έπρεπε να αιτηθεί το άνοιγμα στο συγκεκριμένο κατάστημα. Ο κ. Αντώνης έχει μια κόρη, την Ξένια η οποία πρόσφατα πέρασε στη σχολή Αρχιτεκτόνων Μηχανικών του Εθνικού Μετσόβιου Πολυτεχνείου. Η Ξένια άνοιξε έναν φοιτητικό λογαριασμό στην ίδια τράπεζα αλλά σε διαφορετικό υποκατάστημα. Συγκεκριμένα στην Αθήνα όπου διευθύντρια είναι η κα Μαρία (αυτή δεν την γνώριζαν από πριν). Σε αυτόν τον λογαριασμό κάθε μήνα ο κ. Αντώνης μεταφέρει χρήματα για τις ανάγκες της Ξένιας. Ο φοιτητικός λογαριασμός της ξένιας της δίνει το δικαίωμα υπερανάληψης έως του ποσού των 300€.

4.2.2 Διαγραμματική αναπαράσταση

με βάση την εξής ιστορία

Ο κ. Αντώνης - έμπορος έργων τέχνης στο επάγγελμα - διατηρεί στην τράπεζα “SMTM INC” αποταμιευτικό λογαριασμό για προσωπικούς/οικογενειακούς λόγους αλλά και έναν δεύτερο επαγγελματικό λογαριασμό. Μέσω του επαγγελματικού λογαριασμού ο κ. Αντώνης μπορεί να πληρώνει χωρίς έξοδα τους συνεργάτες του αλλά επίσης να έχει μία πλήρη ενημέρωση για τις κινήσεις του ηλεκτρονικού καταστήματός του. Εξυπηρετείται από το κατάστημα Θεσσαλονίκης όπου διευθυντής είναι ο κ. Μανώλης, γνωστός του από παλιά! Όταν χρειάστηκε να ανοίξει οποιονδήποτε από τους λογαριασμούς του ο κ. Αντώνης έπρεπε να αιτηθεί το άνοιγμα στο συγκεκριμένο κατάστημα. Ο κ. Αντώνης έχει μια κόρη, την Ξένια η οποία πρόσφατα πέρασε στη σχολή Αρχιτεκτόνων Μηχανικών του Εθνικού Μετσόβιου Πολυτεχνείου. Η Ξένια άνοιξε έναν φοιτητικό λογαριασμό στην ίδια τράπεζα αλλά σε διαφορετικό υποκατάστημα. Συγκεκριμένα στην Αθήνα όπου διευθύντρια είναι η κα Μαρία (αυτή δεν την γνώριζαν από πριν). Σε αυτόν τον λογαριασμό κάθε μήνα ο κ. Αντώνης μεταφέρει χρήματα για τις ανάγκες της Ξένιας. Ο φοιτητικός λογαριασμός της ξένιας της δίνει το δικαίωμα υπερανάληψης έως του ποσού των 300€.

Τα αντικείμενα που συμμετέχουν με βάση τον ρόλο τους είναι: • Ελένη (Πελάτης) • Αλέξανδρος (Μάγειρας/Ιδιοκτήτης Πιτσαρίας) • Πέτρος (Διανομέας Πίτσας) Οι συνεργασίες που αναπτύσσονται μεταξύ τους, είναι οι εξής: • Παραγγελία: Ελένη (Πελάτης) – Αλέξανδρος (Μάγειρας/Ιδιοκτήτης Πιτσαρίας) • Ανάθεση Παράδοσης: Αλέξανδρος (Μάγειρας/Ιδιοκτήτης Πιτσαρίας) - Πέτρος (Διανομέας Πίτσας) • Παράδοση: Πέτρος (Διανομέας Πίτσας) - Ελένη (Πελάτης)

Διάγραμμα αλληλεπίδρασης αντικειμένων (άσκηση)

4.3 Ομαδοποίηση Αντικειμένων σε Κλάσεις: Αφαιρετικότητα και Ενθυλάκωση

"

Ο γενικός τύπος ενός αντικειμένου καλείται κλάση (class) και καθορίζει τις αρχικές ιδιότητες και τη συμπεριφορά κάθε αντικειμένου που προέρχεται από αυτή. Μια κλάση αποτελεί ένα αφαιρετικό (abstract) στοιχείο (τύπο) και μπορεί να παράγει ένα απεριόριστο πλήθος δομικά ίδιων αντικειμένων.

"

Η κλάση σκύλος και μερικά αντικείμενά της

Η κλάση Ανθοπώλης και τα αντικείμενά της

Αντικείμενο Car

WRITE A INTRODUCTION HERE

Κλάση Μαθητής

Κλάση ΜαθητήςΙδιότητεςΌνομαΕπώνυμοΑριθμός ΜητρώουΤάξηΗμερομηνία γέννησηςΌνομα πατέραΌνομα μητέραςΜέθοδοιΑπουσιάζει()Προάγεται()Επαναλαμβάνει την τάξη()Λαμβάνει ειδοποιητήριο για απουσίες()Παίρνει αριστείο

WRITE A INTRODUCTION HERE

Κλάση Μαθητής

Κλάση ΜαθητήςΙδιότητεςΌνομαΕπώνυμοΑριθμός ΜητρώουΤάξηΗμερομηνία γέννησηςΌνομα πατέραΌνομα μητέραςΜέθοδοιΑπουσιάζει()Προάγεται()Επαναλαμβάνει την τάξη()Λαμβάνει ειδοποιητήριο για απουσίες()Παίρνει αριστείο

Ορίστε 6 τουλάχιστον ιδιότητες και 3 μεθόδους για τις ακόλουθες κλάσεις:1η κλάση: "Ταινία" 2η κλάση: "Τραγουδιστής" 3η κλάση: "Κινητό τηλέφωνο"

Άσκηση

Δραστηριότητα

Play and learn

Παιχνίδι για την εκμάθηση αντικειμενοστραφούς προγραμματισμού

This is a paragraph of text waiting to be awesome content

Διαγραμματική αναπαράσταση κλάσεων του προβλήματος «Αποστολή λουλουδιών»

Παράδειγμα: «Σχεδιασμός Εικόνων με Γεωμετρικά Σχήματα» Μας ζητείται να κατασκευάσουμε μια εφαρμογή που υποστηρίζει τον σχεδιασμό σύνθετων εικόνων που περιέχουν τα εξής γεωμετρικά σχήματα.Σύμφωνα με την αντικειμενοστραφή προσέγγιση, κάθε φορά που ο χρήστης επιλέγει να σχεδιάσει ένα σχήμα, το πρόγραμμα θα πρέπει να ενεργοποιεί ένα αντικείμενο του σχήματος αυτού.

start >

Κλάσεις γεωμετρικών σχημάτων

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

Παράδειγμα

Ορισμός

Επισημάνσεις

1

Δραστηριότητα

2

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

Σχέση κληρονομικότητας γεωμετρικών σχημάτων

Με ερωτήσεις πολλαπλών επιλογών

Άσκηση