Modifikator private v TypeScript

Modifikator private se uporablja v primerih, ko je treba dostop do lastnosti in metod zunaj razloga zapreti. Pri tem tudi v razredih-potomcih ne bo mogoče dostopati do teh lastnosti.

Poglejmo si na primeru. Naredimo v razredu User zasebno lastnost name:

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

Ustvarimo objekt razreda tako, da v konstruktor podamo vrednost naše lastnosti:

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

Zdaj bo poskus branja te zasebne lastnosti zunaj razreda povzročil napako:

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

Tudi poskus zapisovanja česa v to lastnost zunaj razreda bo povzročil napako:

typescriptuser.name = 'eric'; // napaka

Medtem pa lahko znotraj metod razreda beremo in spreminjamo vrednost naše zasebne lastnosti:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // preberemo lastnost
  }
  
  public setName(name: string) {
    this.name = name; // zapišemo novo vrednost lastnosti
  }
}
Задание 1

Naredite razred User, ki vsebuje zasebne lastnosti z imenom in starostjo. Naj se njihove začetne vrednosti določijo preko konstruktorja.

Задание 2

V vašem razredu User naredite javne metode getName in getAge, ki omogočajo pridobitev vrednosti ustreznih zasebnih lastnosti.

Задание 3

V vašem razredu User naredite javne metode setName in setAge, ki omogočajo spremembo vrednosti ustreznih zasebnih lastnosti.