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:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Sinif obyekti yaradaq və konstruktora xassəmizin qiymətini ötürək:
let user: User = new User('john');
İndi bu xüsusi xassəni sinif xaricində oxumaq cəhdi səhvə səbəb olacaq:
console.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:
user.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:
class 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
}
}
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.
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.
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.