OOP-də TypeScript-də Aksessorlar
Xalis JavaScript-də olduğu kimi, TypeScript-də də xassələr üçün aksessorlar yaratmaq olar: getterlər və setterlər.
Ancaq TypeScript-də aksessorların adları
xassələrin adları ilə üst-üstə düşməməlidir. Gəlin
bunu praktikada görək. name xüsusi xassəsi
üçün aksessorlar edək. Əgər aksessorlara da name
adı verilsə, belə kod xəta verəcək:
class User {
private name: string = '';
public set name(name: string) { // xəta verəcək
this.name = name;
}
public get name(): string {
return this.name;
}
}
Problemi, məsələn, xüsusi xassəni yenidən adlandıraraq düzəldək:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Ad və yaş xüsusi xassələrini ehtiva edən
User sinfi yaradın. Bu xassələrin
aksessorlarını edin.
Yaş üçün setteri elə dəyişin ki, yaş
0-dan 120-ə qədər təyin
edilə bilsin. Əgər başqa bir dəyər göstərilsə,
istisna atılmalıdır.