Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Οι κλάσεις στη JavaScript είναι μια τρόπος να δημιουργήσετε αντικείμενα (objects) με κοινά χαρακτηριστικά και λειτουργίες. Οι κλάσεις εισήχθηκαν στην JavaScript με την πρότυπη ES6 (ECMAScript 2015) και επιτρέπουν την οργάνωση του κώδικα σε πιο δομημένες μονάδες.

Εδώ είναι ένα παράδειγμα βασικής κλάσης στη JavaScript:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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.
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.
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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();
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();
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 και καλούμε τις μεθόδους του.

Όταν έχετε μια κλάση, μπορείτε να χρησιμοποιήσετε την κλάση για να δημιουργήσετε αντικείμενα.

Εδώ είναι πώς μπορείτε να χρησιμοποιήσετε μια κλάση για να δημιουργήσετε αντικείμενα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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.
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.
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) των αντικειμένων που δημιουργούνται από την κλάση.

Η σύνταξη του κατασκευαστή είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class ClassName {
constructor(param1, param2) {
this.property1 = param1;
this.property2 = param2;
}
}
class ClassName { constructor(param1, param2) { this.property1 = param1; this.property2 = param2; } }
class ClassName {
  constructor(param1, param2) {
    this.property1 = param1;
    this.property2 = param2;
  }
}

Όπου ClassName είναι το όνομα της κλάσης, και οι param1, param2, κλπ. είναι οι παράμετροι που περνούν κατά τη δημιουργία ενός αντικειμένου.

Στο εσωτερικό του κατασκευαστή, μπορείτε να αρχικοποιήσετε τις ιδιότητες των αντικειμένων χρησιμοποιώντας τη σύνταξη this.propertyName = value.

Εδώ είναι ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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” που επιστρέφει την ηλικία του αυτοκινήτου:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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.`);
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.`);
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. Εδώ είναι ένα παράδειγμα που δείχνει πώς να περάσετε παραμέτρους σε μια μέθοδο κλάσης:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Calculator {
add(a, b) {
return a + b;
}
}
// Δημιουργία αντικειμένου με την κλάση Calculator
const calc = new Calculator();
// Κλήση της μεθόδου add με παράμετρους
const result = calc.add(5, 3);
console.log(result); // Εμφανίζει: 8
class Calculator { add(a, b) { return a + b; } } // Δημιουργία αντικειμένου με την κλάση Calculator const calc = new Calculator(); // Κλήση της μεθόδου add με παράμετρους const result = calc.add(5, 3); console.log(result); // Εμφανίζει: 8
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. Το αποτέλεσμα της πρόσθεσης εμφανίζεται στην κονσόλα.

Μπορείτε να περάσετε όσες παραμέτρους χρειάζεται η μέθοδος κλάσης και να τις χρησιμοποιήσετε εντός της μεθόδου για να εκτελέσετε τις απαραίτητες λειτουργίες.

21 Αυγούστου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων