Pengubahsuai private dalam TypeScript

Pengubahsuai private digunakan dalam kes apabila anda perlu menutup akses kepada sifat dan kaedah dari luar kelas. Pada masa yang sama, bahkan dalam kelas keturunan tidak akan dapat mengakses sifat-sifat ini.

Mari lihat contoh. Mari buat sifat persendirian name dalam kelas User:

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

Mari buat objek kelas, dengan menghantar kepada pembina nilai sifat kami:

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

Sekarang percubaan untuk membaca sifat persendirian ini di luar kelas akan menyebabkan ralat:

typescriptconsole.log(user.name); // ralat

Percubaan untuk menulis sesuatu ke dalam sifat ini dari luar kelas juga akan menyebabkan ralat:

typescriptuser.name = 'eric'; // ralat

Namun, di dalam kaedah kelas, adalah mungkin untuk membaca dan mengubah nilai sifat persendirian kami:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // baca sifat
  }
  
  public setName(name: string) {
    this.name = name; // tulis nilai baru untuk sifat
  }
}
Задание 1

Buat kelas User, yang mengandungi sifat persendirian dengan nama dan umur. Biarkan nilai awal mereka ditetapkan melalui pembina.

Задание 2

Dalam kelas User anda, buat kaedah awam getName dan getAge, yang membenarkan untuk mendapatkan nilai yang sepadan sifat persendirian.

Задание 3

Dalam kelas User anda, buat kaedah awam setName dan setAge, yang membenarkan untuk mengubah nilai yang sepadan sifat persendirian.