Vitu ndani ya madarasa katika OOP katika JavaScript

Katika madarasa unaweza kutumia vitu vya madarasa mengine. Hebu tuangalie kwa mfano. Tuseme tunataka kutengeneza mtumiaji na jina na ukoo, pamoja na jiji analokaa. Tuseme tuna darasa lifuatalo kwa jiji:

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

Tutapeana jina, ukoo na jiji kama vigezo (parameters) kwa constructor:

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

Katika hali hii jina na ukoo watakuwa herufi mfululizo (strings), lakini jiji - litakuwa kitu (object) cha darasa lake la pekee:

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

Wacha tuonyeshe jina la mtumiaji wetu:

javascriptconsole.log(user.name);

Sasa tuonyeshe jina la jiji kwa mtumiaji wetu:

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

Imetolewa darasa lifuatalo:

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

Fanya ili vigezo vya pili na vya tatu vipeanwe viungo (objects) vya madarasa tofauti.

Задание 2

Unda kitu cha mfanyikazi kwa kutumia darasa kutoka kwenye shida iliyopita.

Задание 3

Onyesha kwenye console jina, cheo na idara ya mfanyikazi aliyeundwa.