Οι κλάσεις στη JavaScript είναι μια τρόπος να δημιουργήσετε αντικείμενα (objects) με κοινά χαρακτηριστικά και λειτουργίες. Οι κλάσεις εισήχθηκαν στην JavaScript με την πρότυπη ES6 (ECMAScript 2015) και επιτρέπουν την οργάνωση του κώδικα σε πιο δομημένες μονάδες.
Εδώ είναι ένα παράδειγμα βασικής κλάσης στη JavaScript:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } // Δημιουργία αντικειμένου από την κλάση Person const person1 = new Person("John", 30); const person2 = new Person("Jane", 25); person1.greet(); // Εμφανίζει: Hello, my name is John and I am 30 years old. person2.greet(); // Εμφανίζει: Hello, my name is Jane and I am 25 years old.
Στο παράδειγμα παραπάνω, έχουμε δημιουργήσει μια κλάση με το όνομα Person
. Η κλάση έχει έναν κατασκευαστή (constructor) που δέχεται δύο παραμέτρους, το όνομα και την ηλικία του ατόμου. Ο κατασκευαστής αναθέτει αυτές τις παραμέτρους στις ιδιότητες name
και age
του αντικειμένου.
Επίσης, έχουμε μια μέθοδο greet()
που εμφανίζει ένα μήνυμα υποδοχής με το όνομα και την ηλικία του ατόμου.
Μετά τον ορισμό της κλάσης, δημιουργούμε δύο αντικείμενα person1
και person2
από την κλάση Person
και καλούμε τη μέθοδο greet()
για κάθε ένα από αυτά.
Οι κλάσεις στη JavaScript μας επιτρέπουν να οργανώνουμε τον κώδικα μας με βάση την αντικειμενοστραφή προσέγγιση, κάνοντας τον κώδικα πιο δομημένο και ευανάγνωστο.
Χρησιμοποιήστε τη λέξη-κλειδί class
για να δημιουργήσετε μια κλάση.
Πάντα προσθέστε μια μέθοδο με το όνομα constructor()
.
Εδώ είναι η σύνταξη μιας κλάσης στη JavaScript:
class MyClass { constructor(param1, param2) { this.property1 = param1; this.property2 = param2; } method1() { // Κώδικας για τη μέθοδο 1 } method2() { // Κώδικας για τη μέθοδο 2 } } // Δημιουργία αντικειμένου από την κλάση MyClass const myObject = new MyClass(value1, value2); // Κλήση μεθόδων του αντικειμένου myObject.method1(); myObject.method2();
Στο παράδειγμα παραπάνω, δημιουργούμε μια κλάση με το όνομα MyClass
. Η κλάση έχει έναν κατασκευαστή constructor
που δέχεται δύο παραμέτρους param1
και param2
. Ο κατασκευαστής αναθέτει τις τιμές των παραμέτρων στις ιδιότητες property1
και property2
του αντικειμένου.
Επίσης, έχουμε δημιουργήσει δύο μεθόδους method1
και method2
που μπορούν να καλεστούν στα αντικείμενα που δημιουργούνται από αυτήν την κλάση.
[adinserter block=”2″]
Στο τέλος, δημιουργούμε ένα αντικείμενο myObject
από την κλάση MyClass
και καλούμε τις μεθόδους του.
Όταν έχετε μια κλάση, μπορείτε να χρησιμοποιήσετε την κλάση για να δημιουργήσετε αντικείμενα.
Εδώ είναι πώς μπορείτε να χρησιμοποιήσετε μια κλάση για να δημιουργήσετε αντικείμενα:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } // Δημιουργία αντικειμένων από την κλάση Person const person1 = new Person("John", 30); const person2 = new Person("Jane", 25); // Κλήση μεθόδων των αντικειμένων person1.greet(); // Εμφανίζει: Hello, my name is John and I am 30 years old. person2.greet(); // Εμφανίζει: Hello, my name is Jane and I am 25 years old.
Σε αυτό το παράδειγμα, έχουμε την κλάση Person
που έχει οριστεί προηγουμένως. Στη συνέχεια, δημιουργούμε δύο αντικείμενα person1
και person2
από την κλάση Person
χρησιμοποιώντας τον κατασκευαστή (constructor) της κλάσης.
Κατόπιν, καλούμε τη μέθοδο greet()
σε κάθε ένα από αυτά τα αντικείμενα, παράγοντας τα αναμενόμενα μηνύματα υποδοχής. Έτσι, χρησιμοποιούμε την κλάση για να δημιουργήσουμε και να εκτελέσουμε λειτουργίες στα αντικείμενα που δημιουργούνται από αυτήν.
Η μέθοδος κατασκευαστή (constructor method) είναι μια ειδική μέθοδος σε μια κλάση στη JavaScript. Χρησιμοποιείται για τη δημιουργία και αρχικοποίηση των ιδιοτήτων (properties) των αντικειμένων που δημιουργούνται από την κλάση.
Η σύνταξη του κατασκευαστή είναι:
class ClassName { constructor(param1, param2) { this.property1 = param1; this.property2 = param2; } }
Όπου ClassName
είναι το όνομα της κλάσης, και οι param1
, param2
, κλπ. είναι οι παράμετροι που περνούν κατά τη δημιουργία ενός αντικειμένου.
Στο εσωτερικό του κατασκευαστή, μπορείτε να αρχικοποιήσετε τις ιδιότητες των αντικειμένων χρησιμοποιώντας τη σύνταξη this.propertyName = value
.
Εδώ είναι ένα παράδειγμα:
class Person { constructor(name, age) { this.name = name; this.age = age; } } // Δημιουργία αντικειμένου με τον κατασκευαστή const person = new Person("John", 30); console.log(person.name); // Εμφανίζει: John console.log(person.age); // Εμφανίζει: 30
Στο παράδειγμα παραπάνω, έχουμε την κλάση Person
με έναν κατασκευαστή που δέχεται δύο παραμέτρους, name
και age
. Ο κατασκευαστής αρχικοποιεί τις ιδιότητες name
και age
του αντικειμένου που δημιουργείται με τις τιμές που περνούν στον κατασκευαστή.
Μετά τη δημιουργία ενός αντικειμένου με την κλάση Person
, μπορούμε να έχουμε πρόσβαση στις ιδιότητες του αντικειμένου όπως person.name
και person.age
.
Ας δημιουργήσουμε μια κλάση με τη μέθοδο “age” που επιστρέφει την ηλικία του αυτοκινήτου:
class Car { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } age() { const currentYear = new Date().getFullYear(); return currentYear - this.year; } } // Δημιουργία αντικειμένου με την κλάση Car const myCar = new Car("Toyota", "Corolla", 2020); // Κλήση της μεθόδου age για να πάρουμε την ηλικία του αυτοκινήτου console.log(`The car is ${myCar.age()} years old.`);
Σε αυτό το παράδειγμα, έχουμε δημιουργήσει μια κλάση Car
με έναν κατασκευαστή που δέχεται τρεις παραμέτρους: make
(κατασκευαστής), model
(μοντέλο) και year
(έτος).
Η κλάση διαθέτει μια μέθοδο age
που υπολογίζει την ηλικία του αυτοκινήτου βάσει της τρέχουσας χρονιάς και του έτους κατασκευής του αυτοκινήτου. Στη συνέχεια, δημιουργούμε ένα αντικείμενο myCar
και καλούμε τη μέθοδο age()
για να εμφανίσουμε την ηλικία του αυτοκινήτου στην κονσόλα.
Μπορείτε να περάσετε παραμέτρους σε μεθόδους κλάσης, όπως και σε άλλες συναρτήσεις στη JavaScript. Εδώ είναι ένα παράδειγμα που δείχνει πώς να περάσετε παραμέτρους σε μια μέθοδο κλάσης:
class Calculator { add(a, b) { return a + b; } } // Δημιουργία αντικειμένου με την κλάση Calculator const calc = new Calculator(); // Κλήση της μεθόδου add με παράμετρους const result = calc.add(5, 3); console.log(result); // Εμφανίζει: 8
Σε αυτό το παράδειγμα, έχουμε την κλάση Calculator
με μια μέθοδο add
που δέχεται δύο παραμέτρους a
και b
και επιστρέφει το άθροισμά τους. Στη συνέχεια, δημιουργούμε ένα αντικείμενο calc
από την κλάση Calculator
και καλούμε τη μέθοδο add
περνώντας τις παραμέτρους 5
και 3
. Το αποτέλεσμα της πρόσθεσης εμφανίζεται στην κονσόλα.
Μπορείτε να περάσετε όσες παραμέτρους χρειάζεται η μέθοδος κλάσης και να τις χρησιμοποιήσετε εντός της μεθόδου για να εκτελέσετε τις απαραίτητες λειτουργίες.