TypeScript-də private modifikatoru

private modifikatoru sinfin xaricindən xassələrə və metodlara girişi məhdudlaşdırmaq lazım olduqda tətbiq olunur. Bu zaman hətta törəmə siniflərdə də bu xassələrə müraciət etmək mümkün olmayacaq.

Nümunəyə baxaq. User sinfində name xüsusi xassəsini yaradaq:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Sinif obyekti yaradaq və konstruktora xassəmizin qiymətini ötürək:

typescriptlet user: User = new User('john');

İndi bu xüsusi xassəni sinif xaricində oxumaq cəhdi səhvə səbəb olacaq:

typescriptconsole.log(user.name); // səhv

Həmçinin sinif xaricində bu xassəyə nəyisə yazmaq cəhdi də səhvə səbəb olacaq:

typescriptuser.name = 'eric'; // səhv

Amma sinif metodları daxilində bizim xüsusi xassəmizin qiymətini həm oxumaq, həm də dəyişmək mümkün olacaq:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // xassəni oxuyuruq
  }
  
  public setName(name: string) {
    this.name = name; // xassəyə yeni qiymət yazırıq
  }
}
Задание 1

User sinfi yaradın, ona ad və yaş xüsusi xassələrini əlavə edin. Onların ilkin qiymətləri konstruktor vasitəsilə təyin olunsun.

Задание 2

User sinfinizdə getName və getAge adlı ictimai metodlar yaradın, hansı ki, müvafiq xüsusi xassələrin qiymətlərini əldə etməyə imkan versin.

Задание 3

User sinfinizdə setName və setAge adlı ictimai metodlar yaradın, hansı ki, müvafiq xüsusi xassələrin qiymətlərini dəyişməyə imkan versin.