JavaScript да ООП да свойства геттерлари

Фарз қилайлик, бизда куйидаги хусусий свойстваларга эга класс бор:

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

Кўриб турганингиздек, бу свойствалар объект яратилганда бир марта белгиланади. Аммо, ҳозирги вақтда бу свойстваларни ўқиш имкони йўқ, чунки улар хусусий ва ўқиш учун мос келувчи усуллар мавжуд эмас.

Келгинг, бизга ўз свойстваларимиз учун ушбу свойстваларни ўқиш имконини берадиган махсус усулларни ясайлик. Бундай усуллар (улар геттерлар деб аталади) get сўзи билан бошланиши керак, сўнгра ўқиладиган свойстванинг номи келиши керак.

Келгинг, бизга ўз свойстваларимизнинг геттерларини ясайлик:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
  
  getName() {
    return this.#name;
  }
  
  getSurn() {
    return this.#surn;
  }
}

Келгинг, уларнинг ишини текширайлик. Объект яратамиз, параметр сифатида фойдаланувчи маълумотларини берсак:

javascriptlet user = new User('john', 'smit');

Келгинг, бу маълумотларни геттерлардан фойдаланиб ўқайлик:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

Employee классасида учта хусусий свойства ясангиз: исм, маош ва ёш.

Задание 2

Конструкторга параметр сифатида ушбу свойстваларнинг қийматларини беринг.

Задание 3

Бизга хар бир свойствамизнинг қийматини чиқарадиган геттерларни ясангиз.