Οι 3 Βασικές Αρχές Αντικειμενοστρεφούς Προγραμματισμού – Τρόπος Προγραμματισμού με Java

Ο Αντικειμενοστραφής Προγραμματισμός (ή OOP) στην πραγματικότητα ταξινομείται από τρεις βασικές αρχές.

1) Ενθυλάκωση

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

3) Πολυμορφισμός

Αυτοί φαίνονται να είναι τρομακτικοί όροι, αλλά στην πραγματικότητα είναι αρχές αρκετά εύκολο να κατανοηθούν. Για να καταλάβετε πώς να προγραμματίσετε με java, θα πρέπει να κατανοήσετε αυτές τις αρχές. Ας εξετάσουμε λοιπόν την πρώτη μας κύρια ιδέα του OOP, την ενθυλάκωση. Η ενθυλάκωση σημαίνει απλώς ότι θέλουμε να περιορίσουμε την πρόσβαση που έχουν κάποια άλλα κομμάτια κώδικα σε αυτό το συγκεκριμένο αντικείμενο. Έτσι, για παράδειγμα, εάν έχετε ένα αντικείμενο Person και αυτό το αντικείμενο Person έχει ένα όνομα και ένα επώνυμο ως χαρακτηριστικά. Σε περίπτωση που ένα άλλο κομμάτι κωδικού επιχειρήσει να τροποποιήσει το όνομα του αντικειμένου Person σας ώστε να λέει “Frank3″, θα μπορούσατε να σημειώσετε σε τι θέλει να οριστεί το πρώτο όνομα και να αφαιρέσετε τυχόν ψηφία έτσι ώστε απλά να μείνουμε με ” Ειλικρινής”. Χωρίς ενθυλάκωση, δεν θα έχουμε τη δυνατότητα να αποτρέψουμε τους «ανόητους προγραμματιστές» από το να τροποποιήσουν τις τιμές των μεταβλητών μας σε κάτι που δεν θα φαινόταν λογικό, ή χειρότερα, θα έσπασε την εφαρμογή. Φαίνεται λογικό;

Η δεύτερη έννοια του OOP, και βασική αρχή εάν θέλετε να μάθετε πώς να προγραμματίζετε με Java, είναι η κληρονομικότητα. Αυτή η συγκεκριμένη έννοια αναφέρεται σε μια υπερκλάση (ή γονική κλάση) και μια υποκλάση (ή θυγατρική κλάση) και το απλό γεγονός ότι μια θυγατρική κλάση αποκτά καθεμία από τις ιδιότητες του γονέα της. Μπορείτε να το σκεφτείτε από την άποψη μιας πραγματικής κατάστασης, όπως ένας πραγματικός γονέας και ένα παιδί. Ένα παιδί πιθανότατα θα κληρονομήσει ορισμένα χαρακτηριστικά από τους γονείς του, όπως, ας πούμε, το χρώμα των ματιών ή το χρώμα των μαλλιών. Επιτρέψτε μας να φανταστούμε ένα ακόμη παράδειγμα όσον αφορά τον προγραμματισμό, ας πούμε ότι έχουμε super class “Vehicle” και υποκατηγορίες “Car” και “Motorcycle”. Ένα “Όχημα” έχει ελαστικά, επομένως μέσω κληρονομιάς το ίδιο θα ήταν ένα “Αυτοκίνητο” και μια “Μοτοσικλέτα”, ωστόσο ένα “Αυτοκίνητο” έχει πόρτες και μια “Μοτοσικλέτα” όχι. Επομένως, δεν θα ήταν ακριβές να δηλωθεί ότι ένα “Όχημα” έχει πόρτες, καθώς αυτή η δήλωση θα ήταν ανακριβής. Έτσι, μπορείτε να δείτε πώς θα μπορούσαμε να προσδιορίσουμε όλες τις πτυχές που είναι παρόμοιες σχετικά με ένα “Αυτοκίνητο” και μια “Μοτοσικλέτα” και έτσι να τα αναγνωρίσουμε μέσα στην υπερκατηγορία “Όχημα”.

Η 3η έννοια του OOP είναι ο Πολυμορφισμός. Αυτή η συγκεκριμένη ιδέα φαίνεται να είναι μια από τις πιο τρομακτικές, αλλά μπορώ να την εξηγήσω με απλά λόγια. Πολυμορφισμός σημαίνει ότι ένα αντικείμενο (δηλαδή Ζώο) μπορεί να πάρει διάφορες μορφές ενώ το πρόγραμμά σας λειτουργεί. Ας φανταστούμε ότι έχετε σχεδιάσει μια κλάση Animal και έχετε ορίσει τη μέθοδο “Speak”. Στη συνέχεια, ζητήσατε από τρεις από τους φίλους σας να αναπτύξουν είδη ζώων και να τους ζητήσετε να εφαρμόσουν τη μέθοδο “Speak”. Δεν θα ξέρετε τι είδους ζώα δημιουργούν οι φίλοι σας ή πώς θα μιλήσουν τα Ζώα τους, εκτός και αν ακούσετε πραγματικά αυτά τα ζώα να μιλούν. Αυτό είναι πολύ συγκρίσιμο με τον τρόπο με τον οποίο η Java αντιμετωπίζει αυτό το ζήτημα. Ονομάζεται δυναμική δέσμευση μεθόδου, που σημαίνει απλά ότι η Java δεν θα καταλάβει πώς μιλάει το πραγματικό Animal μέχρι το χρόνο εκτέλεσης. Ίσως λοιπόν οι φίλοι σας να έχουν δημιουργήσει έναν σκύλο, μια γάτα και ένα φίδι. Εδώ είναι τρεις ποικιλίες Ζώων, και το καθένα μιλάει ξεχωριστά. Κάθε φορά που η Java ζητά από τον σκύλο να μιλήσει, λέει “woof”. Κάθε φορά που η Java ζητά από τη γάτα να μιλήσει, λέει “νιαούρισμα”. Κάθε φορά που η Java ζητά από το φίδι να μιλήσει, σφυρίζει. Υπάρχει η ομορφιά του πολυμορφισμού, το μόνο που κάναμε ήταν να ορίσουμε μια διεπαφή Animal με μια μέθοδο Speak και μπορούμε να φτιάξουμε ένα σωρό είδη ζώων που μιλούν με τον δικό τους εξειδικευμένο τρόπο.



Source by Trevor J Page

Σχολιάστε