Αντικείμενα μέσα σε κλάσεις στην αντικειμενοστρεφή προγραμματισμό στο JavaScript

Σε κλάσεις μπορούμε να χρησιμοποιήσουμε αντικείμενα από άλλες κλάσεις. Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε έναν χρήστη με όνομα και επώνυμο, καθώς και την πόλη στην οποία ζει. Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση για την πόλη:

javascriptclass City {
  constructor(name) {
    this.name = name;
  }
}

Θα περάσουμε το όνομα, το επώνυμο και την πόλη ως παραμέτρους του κατασκευαστή:

javascriptclass User {
  constructor(name, surn, city) {
    this.name = name;
    this.surn = surn;
    this.city = city;
  }
}

Σε αυτήν την περίπτωση, το όνομα και το επώνυμο θα είναι συμβολοσειρές, αλλά η πόλη - ένα αντικείμενο της δικής της ξεχωριστής κλάσης:

javascriptlet city = new City('luis');
let user = new User('john', 'smit', city);

Ας εμφανίσουμε το όνομα του χρήστη μας:

javascriptconsole.log(user.name);

Και τώρα ας εμφανίσουμε το όνομα της πόλης για τον χρήστη μας:

javascriptconsole.log(user.city.name);
Задание 1

Δίνεται η ακόλουθη κλάση:

javascriptclass Employee {
  constructor(name, position, department) {
    this.name = name;
    this.position = position;
    this.department = department;
  }
}

Κάντε έτσι ώστε στη δεύτερη και τρίτη παράμετρο να περνιούνται αντικείμενα ξεχωριστών κλάσεων.

Задание 2

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

Задание 3

Εμφανίστε στην κονσόλα το όνομα, τη θέση εργασίας και το τμήμα για τον δημιουργημένο εργαζόμενο.