Modifikators private TypeScript

Modifikators private tiek lietots gadījumos, kad nepieciešams slēgt piekļuvi īpašībām un metodēm no ārpuses klases. Tajā pat laikā pat paklases nevarēs piekļūt šīm īpašībām.

Apskatīsim piemēru. Izveidosim klasē User privātu īpašību name:

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

Izveidosim klases objektu, nododot konstruktorā mūsu īpašības vērtību:

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

Tagad mēģinājums nolasīt šo privāto īpašību ārpus klases izraisīs kļūdu:

typescriptconsole.log(user.name); // kļūda

Arī mēģinājums kaut ko ierakstīt šajā īpašībā no ārpuses klases izraisīs kļūdu:

typescriptuser.name = 'eric'; // kļūda

Savukārt klases metožu iekšienē varēs gan nolasīt, gan mainīt mūsu privātās īpašības vērtību:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // nolasīsim īpašību
  }
  
  public setName(name: string) {
    this.name = name; // ierakstīsim jaunu īpašības vērtību
  }
}
Задание 1

Izveidojiet klasi User, kas satur privātas īpašības ar vārdu un vecumu. Lai to sākotnējās vērtības tiek noteiktas caur konstruktoru.

Задание 2

Savā klasē User izveidojiet publiskās metodes getName un getAge, kas ļauj iegūt atbilstošo privāto īpašību vērtības.

Задание 3

Savā klasē User izveidojiet publiskās metodes setName un setAge, kas ļauj mainīt atbilstošo privāto īpašību vērtības.