Objektit luokkien sisällä OOP:ssa JavaScriptissä

Luokissa voidaan käyttää objektija muista luokista. Katsotaanpa esimerkkiä. Oletetaan, että haluamme tehdä käyttäjän etunimellä ja sukunimellä sekä kaupungin, jossa hän asuu. Oletetaan, että meillä on seuraava luokka kaupungille:

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

Annetaan etunimi, sukunimi ja kaupunki konstruktorin parametreina:

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

Tässä tapauksessa etunimi ja sukunimi ovat merkkijonoja, mutta kaupunki on objekti omasta erillisestä luokastaan:

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

Tuodaan esille käyttäjämme nimi:

javascriptconsole.log(user.name);

Tuodaan nyt esille käyttäjämme kaupungin nimi:

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

Annettu seuraava luokka:

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

Tee niin, että toiseen ja kolmanteen parametriin välitetään erillisten luokkien objektit.

Задание 2

Luo objekti työntekijästä käyttäen edellisen tehtävän luokkaa.

Задание 3

Tulosta konsoliin luodun työntekijän nimi, tehtävä ja osasto.