ECMAScript 继承机制实例

Αυτό το κεφάλαιο χρησιμοποιεί έναν κλασικό παράδειγμα για να εξηγήσει τον μηχανισμό διαδοχής του ECMAScript.

Παράδειγμα Μηχανισμού Διαδοχής

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

Σε αυτό το παράδειγμα, η κλάση Shape είναι η βάση (base class) της ελλιποειδούς (Ellipse) και του πολυγώνου (Polygon) (όλες οι κλάσεις προέρχονται από αυτήν). Η ελλιποειδής έχει μια ιδιότητα fociαποτελείται από τον αριθμό των εσόδων της ελλιποειδούς.

Η καλύτερη τρόπος για να εξηγήσουμε αυτή τη σχέση διαδοχής είναι με ένα διάγραμμα, το οποίο είναι το πεδίο εφαρμογής του UML (Κοινή Γλώσσα Μοντελοποίησης). Μία από τις κύριες χρήσεις του UML είναι η視ual representation of complex object relationships like inheritance. Το παρακάτω διάγραμμα είναι ένα UML διάγραμμα που εξηγεί τη σχέση μεταξύ του Shape και των υποκλάσεων του:

UML 继承机制示例

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