ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ

Download Report

Transcript ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ
Θεωρία: Μάθημα 1ο
Αθανάσιος Σπυριδάκος
Αναπληρωτής Καθηγητής
Αναφορές
• Σπυριδάκος, Α. (2008) Αντικειμενοστραφής προγραμματισμός σε
περιβάλλον Visual Basic.NET, Σύγχρονη Εκδοτική
• Σπυριδάκος, Α. (2008) Εφαρμογές Αντικειμενοστρεφούς
προγραμματισμού σε περιβάλλον Visual Basic.NET, Σύγχρονη
Εκδοτική
• Κυτάγιας Δ. & Ι. Ψαρομήλιγκος (2004), Visual Basic: από τη
θεωρία... στο εργαστήριο, Εκδόσεις Δηρός.
• Αγγελή Χ. (2000), Προγραμματισμός με τη Visual basic 6, Σύγχρονη
Εκδοτική.
• Δημόπουλος Κ. (2002), Εφαρμογές αντικειμενοστραφούς ή οπτικού
προγραμματισμού σε Visual Basic από έκδοση 6.0., Εκδόσεις
ΔΡΟΜΩΝ.
• www.omg.org (a) Introduction to UML: Structural Modeling and
Use Cases, Cris Corbyn – (b) Behavioral Modeling Gunnar
Övergaard, Bran Selic and Conrad Bock, (c) Advanced Modeling,
Karin Palmkvist, Bran Selic, Jos Warmer and Nathan Dykman)
Περιεχόμενα της Θεωρίας του Μαθήματος
•
•
•
•
•
•
•
•
•
•
•
•
•
Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμός
Αρχιτεκτονικές Συστημάτων
Σχεδιασμός Εφαρμογών με την UML
Η Γλώσσα Προγραμματισμού Visual Basic
Το περιβάλλον ανάπτυξης εφαρμογών της Visual Basic .NET
Μέθοδοι και τεχνικές ανάπτυξης εφαρμογών στο περιβάλλον
VB.NET. Παράδειγμα Ανάπτυξης μιας εφαρμογές
Ελεγκτήρια 1 – Ασκήσεις
Ελεγκτήρια 2 – Ασκήσεις
Ελεγκτήρια 3 – Ασκήσεις
Έλεγχος και από-σφαλμάτωση εφαρμογών
Δημιουργία και διαχείριση εκτελέσιμου προγράμματος
Εφαρμογές με πολλαπλές φόρμες
Εφαρμογές αρχιτεκτονικής client-server
ΠΕΡΙΕΧΌΜΕΝΑ 1ου Μαθήματος
•
•
•
•
•
Εισαγωγή στον Προγραμματισμό Η/Υ
Λογισμικό Εφαρμογών
Κύκλος Ζωής Ανάπτυξης Εφαρμογών Λογισμικού
Βασικές Αρχές Δομημένου Προγραμματισμού
Ο Αντικειμενοστραφής Προγραμματισμός
Βασικές Αρχές και Έννοιες
• Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
Κύκλος Ζωής Ανάπτυξης Συστημάτων
•
•
•
•
•
•
•
•
Προσέγγιση του Καταρράκτη
Ανάλυση Απαιτήσεων
Σχεδιασμός (Σημασιολογικός, Λογικός και Φυσικός)
Ανάπτυξη Συστήματος
Έλεγχος – Τεκμηρίωση
Εγκατάσταση – Εκπαίδευση Χρηστών και
Διαχειριστών
Παραγωγική Λειτουργία και Συντήρηση
Άλλες Προσεγγίσεις
Μέθοδος Spiral
Μέθοδος του πρωτοτύπου
Κύκλος Ζωής Ανάπτυξης Λογισμικού WaterFall
Περιγραφή Συστήματος
Ανάλυση Απαιτήσεων
Σχεδιασμός Αρχιτεκτονικής
Συστήματος
Λεπτομερής Σχεδιασμός
Προγραμματισμός
Συστήματος
Έλεγχος – Εγκατάσταση
Μέθοδος του Πρωτοτύπου
Καταγραφή
Απαιτήσεων
Κίνδυνος να γίνει μια
ατέρμονη διαδικασία
Σχεδιασμός και Ανάπτυξη
πρωτοτύπου (τμήμα
εφαρμογής)
Επαναλαμβανόμενες διαδικασίες
Συνεργασία με του Τελικούς
Χρήστες
Τροποποίηση - επέκταση του
Συστήματος και δημιουργία
νέου πρωτοτύπου
Δημιουργία Τελικού Συστήματος
Προσεγγίσεις Ανάλυσης
Προσεγγίσεις για το σχεδιασμό και ανάπτυξη σύνθετων εφαρμογών
Top – Down
• Σχεδιάζεται το συνολικό σύστημα με τα υπο-συστήματα του και
ακολούθως σχεδιάζονται τα επιμέρους υποσυστήματα και
συνεχίζεται μέχρι το τελευταίο επίπεδο. Διαδικασία Ανάλυσης
Βottom – Up
• Σχεδιάζονται όλα τα επιμέρους υπο-συστήματα σε πρώτη φάση και
σε δεύτερη συντίθενται στο αμέσως προηγούμενο επίπεδο.
Διαδικασία Σύνθεσης
Top Down
Σύστημα
Υποσύστημα 1
Δρ/τα 1.1
Δρ/τα 1.2
Υποσύστημα 2
...
...
Υποσύστημα 3
Δρ/τα 1.ν
....
…
Δρ/τα 1.1.1..
Δρ/τα 1.1.1..
Bottom Up
Δομημένος και Αντικειμενοστραφής
Προγραμματισμός
•
•
•
•
•
•
Σημαντικό τμήμα η Ανάλυση και Σχεδιασμός
Ειδικές Μεθοδολογίες και Εργαλεία για τον Σχεδιασμό
Διαγράμματα HIPO
Παράδειγμα
Διαγράμματος Ροής
Παράδειγμα
Δομημένος Προγραμματισμός
• Τεχνική Ανάπτυξης Προγραμμάτων που βασίζεται στη Λειτουργία
των Υποπρογραμμάτων
• Βασικό στοιχείο αποτελεί η Ανάλυση και ο Σχεδιασμός
• Κατά την Ανάλυση προσδιορίζονται οι διαδικασίες. Το σύστημα
που σχεδιάζεται στην πραγματικότητα αποτελείται από ένα σύνολο
διαδικασιών.
• Αναπτύσσονται προγράμματα στη μορφή των υπο-ρουτινών και
συναρτήσεων. Τα επιμέρους υπο-προγράμματα συντίθενται σε μια
ολοκληρωμένη εφαρμογή
• Η λογική βασίζεται στην διαίρεση του συστήματος σε επιμέρους
υποσυστήματα. Επιτυγχάνεται καλύτερη διαχείριση της
ανάπτυξης, μείωση του χρόνου και τους κόστους ανάπτυξης,
επαναχρησιμοποίηση κώδικα.
• Βιβλιοθήκες υπορουτικών που χρησιμοποιούνται συχνά.
• Ανπάπτυξη ενός νέου πεδίου - Μηχανική Λογισμικού
Παράδειγμα
Κύριο Πρόγραμμα
Υπο/μμα 1
Υπο/μμα 2
Υπο/μμα ν
Εφαρμογής
Βιβλιοθήκης
Υπο/να 1
Υπο/να 1
Υπο/να 1
Υπο/να 2
Υπο/να 2
Υπο/να 2
...
...
Βιβλιοθήκης Γλώσσας
...
Συν/ση 1
Συν/ση 1
Συν/ση 1
Συν/ση 2
Συν/ση 2
Συν/ση 2
...
...
...
Εργαλεία Σχεδιασμού
•
•
•
•
Δομημένη Μεθοδολογία Σχεδιασμού
Λογικά Διαγράμματα Ροής
Διαγράμματα HIPO
Διαγράμματα Ροής Δεδομένων
Διαγράμματα HIPO (Hierarchical Input Process
Output)
Είσοδος
Επεξεργασία
Έξοδος
Α, Β, Γ
Δ= Β2-4ΑΓ
Αν Δ>0 , Χ1=(-Β+SQR(Δ)) /(2Α),
Χ1=(-Β-SQR(Δ))/(2Α)
Αν Δ = 0, Χ1=Χ2=(-Β) /(2Α)
Αν Δ< 0, Μήνυμα =”Δεν υπάρχει πραγματική
ρίζα”
Δ, Χ1, Χ2,
Μήνυμα
Λογικά Διαγράμματα
Παράδειγμα Λογικού Διαγράμματος
Α,Β,Γ
Δ=Β2-4ΑΓ
>0
<0
Δ
=0
Χ1=(-Β+SQR(Δ))
/(2Α),
Χ1=(-ΒSQR(Δ))/(2Α)
Χ1=Χ2=(-Β) /(2Α)
Χ1, Χ2, Δ, Μήνυμα
Μήνυμα =”Δεν
υπάρχει πραγματική
ρίζα”
Γλώσσες Προγραμματισμού 3ης Γενιάς
•
•
•
•
•
•
•
BASIC (Quick Basic)
FORTRAN
COBOL
PASCAL
C
CLIPPER
…
Αντικειμενοστραφής Προγραμματισμός (1)
• Ο Αντικειμενοστραφής Προγραμματισμός αντιμετωπίζει
διαφορετικά, σε σχέση με τον Δομημένο Προγραμματισμό, το
σχεδιασμό και τον προγραμματισμό των εφαρμογών.
• Βασική αρχή στον Αντικειμενοστραφή Προγραμματισμό είναι ότι
δεν προγραμματίζονται διαδικασίες ή λειτουργίες. Όλα
αντιμετωπίζονται σαν αντικείμενα τα οποία έχουν
χαρακτηριστικές ιδιότητες και λειτουργίες, μέσω των οποίων
αντιδρούν σε μηνύματα του περιβάλλοντος.
• Βασική αρχή πάνω στην οποία κτίσθηκε ο Αντικειμενοστραφής
Προγραμματισμός είναι ότι ο πραγματικός κόσμος αποτελείται
από αντικείμενα.
• Τα αντικείμενα αυτά παίρνουν μορφή και η συμπεριφορά τους
εξαρτάται από τα ερεθίσματα που λαμβάνουν από το περιβάλλον
στο οποίο βρίσκονται.
Αντικειμενοστραφής Προγραμματισμός (2)
Η πρωτοτυπία του Αντικειμενοστραφούς
Προγραμματισμού έγκειται στο ότι όλες οι οντότητες
θεωρούνται αντικείμενα, τα οποία έχουν:
• α) ιδιότητες μέσω των οποίων αποκτούν μορφή και
εικόνα και
• β) μεθόδους (λειτουργίες) οι οποίες καθορίζουν τη
συμπεριφορά τους από τα ερεθίσματα που δέχονται από
το περιβάλλον.
• Παράδειγμα: Αυτοκίνητο
Αντικειμενοστραφής Προγραμματισμός (3)
Στον Αντικειμενοστραφή Προγραμματισμό
περιγράφουμε το αντικείμενο, δηλαδή τα
χαρακτηριστικά του και τις λειτουργίες του, που είναι
στην ουσία η συμπεριφορά του στα μηνύματα που
δέχεται από το περιβάλλον.
Το περιβάλλον μπορεί να είναι είτε ο χρήστης της
εφαρμογής είτε άλλα αντικείμενα τα οποία
ενεργοποιούν με κάποιο τρόπο το συγκεκριμένο
αντικείμενο.
Έννοιες - Ορισμοί
Τάξη (Class)
Τάξη είναι το καλούπι από το οποίο
δημιουργούνται αντικείμενα. Μία τάξη
αναπαριστά μία οντότητα του πραγματικού
χώρου και διαθέτει χαρακτηριστικά και
λειτουργίες που περιγράφουν την οντότητα και
τη συμπεριφορά της στο συνολικό σύστημα.
Παράδειγμα
•Η τάξη αυτοκίνητο έχει χαρακτηριστικά
(μηχανή, ρόδες, τιμόνι, μηχανισμός πλοήγησης,
κ.ά.) και λειτουργίες (εκκίνηση, πέδηση,
μεταβολή ταχύτητας, στροφή προς τα
αριστερά, στροφή προς τα δεξιά, κ.ά.) οι οποίες
καθορίζουν τη συμπεριφορά της τάξης.
•Οι λειτουργίες ενεργοποιούνται είτε από
μηνύματα που διαβιβάζονται από τον χρήστη
(οδηγό) είτε από άλλα αντικείμενα.
Αυτοκίνητο
-Μηχανή
-Ρόδες
-ΤΙμόνι
-.....
+Εκίνηση()
+Πέδηση()
+Στροφή()
+Αλλαγή Ταχήτητας()
+....()
Έννοιες - ορισμοί
•
•
•
•
•
Αντικείμενο (Object)
Αντικείμενο είναι η χαρακτηριστική
περίπτωση εφαρμογής μιας τάξης.
Η τάξη είναι το καλούπι εκείνο από το οποίο
δημιουργούμε αντικείμενα. (αντικείμενο είναι
η περίπτωση του αυτοκινήτου μας το οποίο
έχει συγκεκριμένες τιμές στις ιδιότητες και
διαθέτει όλες τις λειτουργίες της τάξης
αυτοκίνητο)
Κάθε αντικείμενο ορίζεται από μία τάξη.
Το αντικείμενο έχει τιμές στις ιδιότητες, ενώ
στην τάξη δεν είναι απαραίτητο να έχουν
δοθεί τιμές στις ιδιότητες.
Το αντικείμενο κληρονομεί τις λειτουργίες
της τάξης από την οποία προέρχεται..
Επιβατικό 1 : Αυτοκίνητο
Μηχανή = 1600 16V
Ρόδες = 4
ΤΙμόνι
.....
Τάξη - Αντικείμενο
Αντικείμενο ν
Ιδιότητα 1 =12
Ιδιότητα 2=16
…..
Λειτουργία 1
Λειτουργία 2
…….
Αντικείμενο 1
Ιδιότητα 1 =10
Ιδιότητα 2=12
…..
Λειτουργία 1
Λειτουργία 2
…….
Αντικείμενο 2
Ιδιότητα 1 =11
Ιδιότητα 2=14
…..
Λειτουργία 1
Λειτουργία 2
…….
Τάξη
Ιδιότητα 1
Ιδιότητα 2
…..
Λειτουργία 1
Λειτουργία 2
…….
…
Αντικείμενο 3
Ιδιότητα 1 =13
Ιδιότητα 2=10
…..
Λειτουργία 1
Λειτουργία 2
…….
Έννοιες - Ορισμοί
•
•
•
•
Ιδιότητες – χαρακτηριστικά (Attributes)
Ιδιότητες αντικειμένου ή τάξης είναι εκείνα τα χαρακτηριστικά
που περιγράφουν τη φυσική ή λογική δομή του αντικειμένου ή της
τάξης.
Λειτουργία (Operation)
Οι λειτουργίες ενός αντικειμένου ή μίας τάξης είναι οι διαδικασίες
που επιτελούνται σε ένα αντικείμενο όταν αυτό δεχθεί κάποιο
ερέθισμα από το περιβάλλον (χειριστή ή αντικείμενο). Στο
παράδειγμα του αυτοκινήτου, η πέδηση είναι μία λειτουργία που
προέρχεται από την ενέργεια του οδηγού να πιέσει το αντίστοιχο
πεντάλ του αυτοκινήτου.
Μέθοδοι
Οι μέθοδοι είναι λειτουργίες ενσωματωμένες στο αντικείμενο.
Στην πραγματικότητα, οι μέθοδοι είναι εντολές ή συναρτήσεις που
αφορούν σε συγκεκριμένο αντικείμενο και έχουν εφαρμογή μόνο
στο συγκεκριμένο αντικείμενο.
Οι μέθοδοι μπορούν να κληθούν σε κάποια λειτουργία του ίδιου
του αντικειμένου ή από λειτουργίες άλλων αντικειμένων με τη
διαβίβαση του σχετικού μηνύματος προς το αντικείμενο.
Έννοιες - Ορισμοί
Μήνυμα
• Για την ενεργοποίηση μιας λειτουργίας ενός
αντικειμένου θα πρέπει να δεχθεί ένα μήνυμα από το
εσωτερικό ή εξωτερικό περιβάλλον, δηλαδή το μήνυμα.
Αυτό μπορεί να προέρχεται είτε από το χειριστή είτε
από άλλα αντικείμενα που βρίσκονται στο περιβάλλον
του αντικειμένου.
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
Ενθυλάκωση
• Η Ενθυλάκωση εξασφαλίζει ότι οι
εσωτερικές λειτουργίες ενός
αντικειμένου μπορούν να παραμένουν
κρυφές για τον έξω κόσμο.
• Η τιμή μιας παραμέτρου μπορεί να είναι
ή να μην είναι αναγνώσιμη από άλλα
αντικείμενα. Το ποιες τιμές μπορούν να
είναι γνωστές από άλλα αντικείμενα
καθορίζεται από τον τρόπο που έχουν
ορισθεί οι παράμετροι ή οι λειτουργίες σε
ένα αντικείμενο.
• Η εφαρμογή της ενθυλάκωσης
εξασφαλίζει ότι τα δεδομένα που ανήκουν
στο αντικείμενο είναι προσπελάσιμα μόνο
με τις μεθόδους του συγκεκριμένου
αντικειμένου. Κάθε αντικείμενο, για να
επικοινωνεί με τον έξω κόσμο, θα πρέπει
να περιλαμβάνει τουλάχιστον μία μέθοδο
για την ανάγνωση ή την εγγραφή των
απαιτούμενων δεδομένων.
Αντικείμενο
Είσοδος
Ιδιότητες και
Λειτουργίες
Ορατές από το
Περιβάλλον
Ιδιότητες και
Λειτουργίες Μη
Ορατές από το
Περιβάλλον
Έξοδος
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
•
•
•
•
Αφαίρεση
Σε ένα αντικείμενο δεν ενδιαφερόμαστε για όλα τα χαρακτηριστικά του ή τις
μεθόδους του. Ανάλογα με την περίπτωση εφαρμογής, χρησιμοποιούνται ή
ενεργοποιούνται συγκεκριμένα χαρακτηριστικά ή μέθοδοι.
Στο παράδειγμα του αυτοκινήτου, ο μηχανικός αυτοκινήτων ενδιαφέρεται για την
τεχνολογία του αυτοκινήτου, για τα ανταλλακτικά του και όχι για την τιμή του, το
έτος κατασκευής ή τους διαθέσιμους χώρους. Ο πωλητής, ενδιαφέρεται για το
κόστος του, την τιμή πώλησης, το έτος κατασκευής, τα χιλιόμετρα που έχει
διανύσει. Ο πελάτης έχει τα δικά του ενδιαφέροντα για το αυτοκίνητο όσον αφορά
τις ιδιότητες-χαρακτηριστικά του.
Από το σύνολο των ιδιοτήτων και μεθόδων μιας κλάσης ή ενός αντικειμένου
χρησιμοποιούμε κάθε φορά ένα υποσύνολο, το κατάλληλο για την περίπτωση της
εφαρμογής που αναπτύσσουμε
Παρέχεται η δυνατότητα απλοποίησης της εργασίας του μηχανικού λογισμικού,
καθώς μέσα από την αφαίρεση μπορεί να απλουστεύσει πολύπλοκες καταστάσεις
και περιγραφές αντικειμένων.
Αντικείμενο
Είσοδος
Ιδιότητες και
Λειτουργίες που
ενδιαφέρουν τον
Α
Ιδιότητες και
Λειτουργίες που
ενδιαφέρουν τον Β
Έξοδος
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
•
•
•
•
•
•
Κληρονομικότητα
Η βασική έννοια στην Κληρονομικότητα είναι ότι κάθε αντικείμενο κληρονομεί τις
ιδιότητες και τα χαρακτηριστικά από τον γονέα του. Διαφορετικά αντικείμενα έχουν
κοινά χαρακτηριστικά και λειτουργίες, τα οποία μπορούν να μας δώσουν τον τρόπο
για να κατηγοριοποιήσουμε τα αντικείμενα.
Παράδειγμα με τις μοτοσικλέτες street, τις μοτοσικλέτες enduro και τις
μοτοσικλέτες chopper. Όλες αυτές οι τάξεις έχουν κοινά χαρακτηριστικά (δύο ρόδες,
κάθισμα οδηγού, τιμόνι) και λειτουργίες (εκκίνηση, αύξηση ταχύτητας, πέδηση,
κ.λπ.).
Σε επίπεδο Αντικειμενοστραφούς Προγραμματισμού αυτό σημαίνει ότι μία κλάση ή
ένα αντικείμενο μπορεί να ορισθεί αν βασισθούμε σε ένα άλλο. Με αυτόν τον τρόπο,
διευκολύνεται και οργανώνεται ο προγραμματισμός συστημάτων, ενώ ταυτόχρονα
έχουμε καλύτερη αποτύπωση των πραγματικών καταστάσεων.
Μία τάξη που προκύπτει από μία άλλη τάξη καλείται υπο-τάξη. Σε πολλές
περιπτώσεις καλείται και τάξη-παιδί.
Η τάξη από την οποία προέρχεται η υπο-τάξη καλείται υπερ-τάξη ή τάξη-γονέας.
Εξαιρούμενη τάξη ή αντικείμενο είναι εκείνο το οποίο δεν προκύπτει από μια υπερτάξη.
Τάξεις μπορούν να προέλθουν από άλλες τάξεις, οι οποίες με τη σειρά τους
προέρχονται από άλλες τάξεις και αυτό μπορεί να συνεχίζεται μέχρι την κορυφή της
ιεραρχίας. Η τάξη που βρίσκεται στο υψηλότερο σημείο καλείται Φθίνουσα από όλες
τις τάξεις στην ιεραρχία.
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
Αυτοκινούμενο Όχημα
-Τιμόνι
-Τροχοί
-Μηχανή
-....
+Εκκίνηση()
+Πέδηση()
+Στροφή()
*
+Επιτάχυνση()
*
*
*
*
*
Φορτηγό
Μοτισικλέτα
Επιβατικό
-Τιμόνι
-2 Τροχοί
-Μηχανή
-....
-Κάθισμα
-Βραχίονας Στήριξης
+Εκκίνηση()
+Πέδηση()
+Στροφή()
+Επιτάχυνση()
-Τιμόνι
-Τροχοί
-Μηχανή
-....
-Καθίσματα Επιβατών
-Θάλαμο Αποσκευών
+Εκκίνηση()
+Πέδηση()
+Στροφή()
+Επιτάχυνση()
-Τιμόνι
-Τροχοί
-Μηχανή
-....
-Καθίσματα Επιβατών
-Καρότσα
+Εκκίνηση()
+Πέδηση()
+Στροφή()
+Επιτάχυνση()
+....()
+Ανατροπή Καρότσας()
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
•
•
•
•
Πολυμορφισμός
Ο όρος Πολυμορφισμός ετυμολογικά προέρχεται από δυο
ελληνικές λέξεις: α) τη λέξη Πολύ και β) τη λέξη Μορφή.
Η έννοια του Πολυμορφισμού στον Αντικειμενοστραφή
Προγραμματισμό αφορά στις διαφορετικές καταστάσεις που
μπορεί να πάρει ένα αντικείμενο ανάλογα με τις τιμές των
εσωτερικών παραμέτρων του.
Για την κατανόηση του όρου θα χρησιμοποιήσουμε το
παράδειγμα του πολυμορφικού αυτοκινήτου.
Η έννοια του πολυμορφισμού υπάρχει τόσο στα δεδομένα όσο και
στις μεθόδους. Μία μεταβλητή μπορεί να πάρει πολλές μορφές
και η εφαρμογή να τη διαχειριστεί ανάλογα με τη μορφή της.
Παραδειγματικά αναφέρουμε την περίπτωση της παραμέτρου
USERID σε ένα μηχανισμό αναζήτησης που σχετίζεται με τον
κωδικό εισαγωγής. Αν ο χειριστής εισαγάγει αριθμό, τότε η
εφαρμογή θα πρέπει να διαχειριστεί τη μεταβλητή σαν αριθμό,
ενώ αντίστοιχα αν οι χειριστής εισαγάγει κείμενο, τότε η εφαρμογή
θα πρέπει να τη διαχειριστεί διαφορετικά
Δομικές Ιδιότητες του Αντικειμενοστραφούς
Προγραμματισμού
Διαφορές μεταξύ Πολυμορφισμού και Κληρονομικότητας
• Στην κληρονομικότητα μία τάξη (παιδί) μπορεί να
προέλθει από την εξειδίκευση μιας άλλης τάξης
(γονέας). Το αντικείμενο παιδί κληρονομεί όλα τα
χαρακτηριστικά και τις μεθόδους του αντικείμενου
γονέα, στα οποία προστίθενται επιπλέον
χαρακτηριστικά και μέθοδοι που το διακρίνουν ή το
εξειδικεύουν από το αντικείμενο γονέα.
• Ο πολυμορφισμός αναφέρεται στις διαφορετικές
μορφές που μπορεί να πάρει ένα αντικείμενο ανάλογα
με τις τιμές και τη δομή των ιδιοτήτων του.