TypeScript'теги protected модификатору
Жеке касиеттер жана ыкмалар мураскорлор тарабынан мурасталбайт.
Бирок кээде бизге сырттан кирүүгө жол берилбөгөн, бирок мураскорлордо болгон
касиет же ыкма керек болот. Бул учурда
protected модификаторун колдонуу керек.
Келигиле иш жүзүндө сынап көрөлү. Биздин
User класстарыбызда cape ыкмасын
protected модификатору менен корголгон деп жарыялайлы:
class User {
protected cape(str: string) {
return str[0].toUpperCase() + str.slice(1);
}
}
User класстан мурастаган
Student классты түзөлү:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
}
Атты чыгаруучу ыкманы кошолу:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
public showName(): string {
return this.name;
}
}
Эми мураскордун ыкмасы ичинде ата-энесинин корголгон ыкмасын колдонолу:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
public showName(): string {
return this.cape(this.name); // ата-энесинин ыкмасын колдонобуз
}
}
Биздин класстын объектисин түзөлү:
let student: Student = new Student('john');
Студентти чыгаруу үчүн ыкманы колдонолу:
console.log(student.showName());
Ал эми cape ыкмасын класс сыртынан чакыруу аракети катага алып келет:
console.log(student.cape('test')); // ката
Төмөндөгү классты берилди:
class User {
protected name: string;
protected surn: string;
constructor(name: string, surn: string) {
this.name = name;
this.surn = surn;
}
}
Бул класстан Employee классты мурастаңыз,
ал өзүнүн корголгон касиетин salary кошот,
ошондой эле өзүнүн жана мурасталган бардык касиеттердин геттерлерин.