Kirekishi cha private katika TypeScript

Kirekishi private hutumika katika kesi ambapo inahitajika kufunga upatikanaji wa sifa na njia kutoka nje ya darasa. Wakati huo hata katika madarasa-yatokayo hayawezi kurejelea kwenye sifa hizo.

Wacha tuangalie kwa mfano. Tufanye katika darasa User sifa ya faragha name:

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

Tutengeneze kitu cha darasa, tukipitisha kwenye kitenzi thamani ya sifa yetu:

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

Sasa jaribio la kusoma sifa hii ya faragha nje ya darasa litasababisha hitilafu:

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

Pia jaribio la kuandika kitu katika sifa hii kutoka nje ya darasa litasababisha hitilafu:

typescriptuser.name = 'eric'; // hitilafu

Lakini ndani ya njia za darasa itawezekana kama kusoma, vilevile kubadilisha thamani ya sifa yetu ya faragha:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // tutasoma sifa
  }
  
  public setName(name: string) {
    this.name = name; // tutaandika thamani mpya ya sifa
  }
}
Задание 1

Fanya darasa User, lenye sifa za faragha zilizo na jina na umri. Wacha thamani zao za awali zipewe kupitia kitenzi.

Задание 2

Katika darasa lako User fanya njia za umma getName na getAge, zinazoruhusu kupata thamani za sifa za faragha zinazofanana.

Задание 3

Katika darasa lako User fanya njia za umma setName na setAge, zinazoruhusu kubadilisha thamani za sifa za faragha zinazofanana.