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:
class City {
constructor(name) {
this.name = name;
}
}
Annetaan etunimi, sukunimi ja kaupunki konstruktorin parametreina:
class 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:
let city = new City('luis');
let user = new User('john', 'smit', city);
Tuodaan esille käyttäjämme nimi:
console.log(user.name);
Tuodaan nyt esille käyttäjämme kaupungin nimi:
console.log(user.city.name);
Annettu seuraava luokka:
class 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.
Luo objekti työntekijästä käyttäen edellisen tehtävän luokkaa.
Tulosta konsoliin luodun työntekijän nimi, tehtävä ja osasto.