TypeScript'те ООП'де абстрактуу методдор
Кээде мураскер класстардын жалпы методу болушу керек, бирок, бул методдун ишке ашырылышы
конкреттүү мураскерге көз каранды. Бул учурда бул методду абстрактуу ата-класста
жарыялап, анын ишке ашырылышын жазбай калтырууга болот. Анда мураскерлер бул методдорду
ишке ашырышы милдеттүү болот. Мына ушундай методдор абстрактуу методдор деп аталат
жана abstract ачкыч сөзү жардамы менен да жарыяланат.
Мисал үчүн биздин User абстрактуу классты алалы. Бул класстын мураскерлери
милдеттүү түрдө объекттин маалыматтарын чыгаруучу show методуна ээ болушу керек.
Бирок, бул методдун ишке ашырылышы мураскерге көз каранды болот. Келгиле, User
классында бул методду абстрактуу деп жарыялайлы:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Бул методду Student мураскер класста ишке ашыралы:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Бул методду Employee мураскер класста ишке ашыралы:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Figure абстрактуу класста аянтты жана периметрди алуу үчүн
абстрактуу методдорду жасаңыз.
Square жана Rectangle мураскер класстарында бул методдордун
ишке ашырылышын жазыңыз.