Βασικές αρχές αντικειμενοστρεφούς προγραμματισμού
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Στοιχεία αντικεμενοστρεφούς προγραμματισμού
- Κάθε οντότητα είναι ένα αντικείμενο (object).
- Υπολογισμοί γίνονται όταν ένα αντικείμενο στείλει ένα
μήνυμα (message) σε άλλο αντικείμενο
(ή - σύμφωνα με την επικρατέστερη ορολογία -
καλέσει μια μέθοδο (method) ενός άλλου αντικειμένου.)
Μια μέθοδος μπορεί να έχει ως όρισμα στοιχεία που είναι απαραίτητα
για την εκτέλεση του υπολογισμού.
- Κάθε αντικείμενο έχει τη δική του μνήμη για να αποθηκεύει την
κατάστασή του.
Οι μεταβλητές στις οποίες αποθηκεύεται η κατάσταση αυτή
καλούνται ιδιότητες (properties)
(ή μεταβλητές στιγμιότυπου (instance variables)).
- Κάθε αντικείμενο αποτελεί στιγμιότυπο (instance)
μιας κλάσης.
Η κλάση (class) είναι μια ομάδα από ομοειδή αντικείμενα.
- Η κλάση είναι ο χώρος στον οποίο ορίζεται η συμπεριφορά των αντικειμένων.
Όλα τα αντικείμενα μιας κλάσεις μοιράζονται την ίδια συμπεριφορά
(εκτελούν τις ίδιες μεθόδους).
- Οι κλάσεις μπορούν να οργανωθούν σε μια δενδρική δομή
που ορίζει κληρονομικότητα (inheritance).
Ιδιότητες και μέθοδοι που έχουν οριστεί σε μια μητρική κλάση
κληρονομούνται και είναι προσβάσιμες και από κάθε
υποκλάση (subclass) της.
Υλοποίηση κλάσεων
- Η Visual Basic επιτρέπει τον προγραμματισμό με αντικείμενα και χρησιμοποιεί
αντικείμενα ως βάση για την υλοποίηση γραφικών διεπαφών.
- Μερικά στοιχεία του αντικειμενοστρεφούς προγραμματισμού,
όπως η κληρονομικότητα,
δεν υποστηρίζονται άμεσα από τη γλώσσα, αλλά υλοποιούνται μέσω
συμβάσεων και εργαλείων που τις υλοποιούν.
- Ο ορισμός των κλάσεων (αλλά όχι και οι μετέπειτα αλλαγές)
υποστηρίζεται από το εργαλείο Class Builder.
Το εργαλείο Class Builder
Ορισμός ιδιότητας
Οι ιδιότητες είναι μεταβλητές που αποτελούν τμήμα του κάθε αντικειμένου.
Ορισμός μεθόδου
Κάθε μέθοδος είναι μια διαδικασία ή συνάρτηση που έχει πρόσβαση στις
ιδιότητες του συγκεκριμένου αντικειμένου.
Ορισμός κληρονομικότητας
Οι ιδιότητες και μέθοδοι του αντικειμένουν Point κληρονομούνται από το
αντικείμενο Point3D.
Προγραμματισμός με αντικείμενα
- Αφού ορίσουμε τα στοιχεία μιας κλάσης πρέπει να γράψουμε τον
κώδικα για τις αντίστοιχες μεθόδους.
Παράδειγμα:
Public Function Distance() As Double
Distance = Sqr(x * x + y * y)
End Function
- Για να χρησιμοποιήσουμε αντικείμενα που έχουμε ορίσει πρέπει να
τα δηλώσουμε με την εντολή Dim και στη συνέχεια να τους εκχωρήσουμε χώρο
με τη χρήση της εντολής Set ... New.
- Σε κάθε αντικείμενο έχουμε πρόσβαση στις μεθόδους και τις ιδιότητές του
με τη σύνταξη όνομα.ιδιότητα ή όνομα.μέθοδος όρισμα.
Παράδειγμα:
Sub main()
Dim a As Point
Set a = New Point
a.x = 4
a.y = 3
MsgBox a.Distance
a.MoveTo 3, 4
MsgBox a.Distance
end sub
- Συχνά χρησιμοποιούμε έτοιμα αντικείμενα που υποστηρίζει το περιβάλλον
της Visual Basic:
Sub main()
App.Title = "Hello, world"
Clipboard.Clear
Clipboard.SetText ("New clipboard contents")
MsgBox App.Path
End Sub