Τεχνολογία Οριζόντιας Προσέγγισης ECMAScript

Αντικειμενοεσπασμένος όρος

Αντικείμενο

Η ECMA-262 ορίζει τα αντικείμενα ως «μια αταξινόμητη συλλογή ιδιοτήτων, όπου κάθε ιδιότητα αποθηκεύει μια αρχική τιμή, ένα αντικείμενο ή μια συνάρτηση». Συνεπώς, τα αντικείμενα είναι μια ακολουθία τιμών χωρίς συγκεκριμένη τάξη.

Αν και το ECMAScript ορίζει τα αντικείμενα, η πιο γενική του ορισμός βασίζεται στην παρουσίαση ονομάτων (πρόσωπα, τόποι ή αντικείμενα) ως κειμένων.

Κλάση

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

Instance

Όταν η προγραμματιστική χρησιμοποιεί κλάσεις για τη δημιουργία αντικειμένων, τα δημιουργημένα αντικείμενα ονομάζονται instance της κλάσης. Η μοναδική περιοριστική παράμετρος για τον αριθμό των αντικειμένων που δημιουργούνται από την κλάση είναι η φυσική μνήμη του μηχανήματος που εκτελεί τον κώδικα. Όλοι οι instance έχουν το ίδιο συμπεριφορά, αλλά χειρίζονται ένας ομάδα ανεξάρτητων δεδομένων. Ο διαδικασία δημιουργίας αντικειμένων από κλάση ονομάζεται instantiation.

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

Απαιτήσεις γλώσσας προγραμματισμού με προσανατολισμό αντικειμένων

Μια γλώσσα προγραμματισμού με προσανατολισμό αντικειμένων πρέπει να παρέχει τέσσερις βασικές ικανότητες στον προγραμματιστή:

  1. Καθορισμός - Η ικανότητα να αποθηκεύονται σχετικές πληροφορίες (όπως δεδομένα ή μεθόδους) μέσα σε ένα αντικείμενο
  2. Ασύγκριτη ικανότητα - Η ικανότητα να αποθηκεύεται ένα αντικείμενο μέσα σε ένα άλλο αντικείμενο
  3. Κληρονομικότητα - Η ικανότητα να αποκτώνται ιδιότητες και μεθόδους από άλλη κλάση (ή πολλές κλάσεις)
  4. Πολυμορφισμός - Η ικανότητα να γράφονται συνάρτησεις ή μεθόδοι που μπορούν να εκτελούνται με πολλούς τρόπους

Το ECMAScript υποστηρίζει αυτές τις απαιτήσεις και μπορεί να θεωρηθεί ως προγραμματιστική γλώσσα με προσανατολισμό αντικειμένων.

Σύνθεση αντικειμένων

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