Kelas OOP Abstrak dalam TypeScript
Terdapat situasi di mana kita mempunyai kelas induk yang mengandungi sifat dan kaedah umum, dan kelas anak mewarisi daripadanya.
Pada masa yang sama, mungkin berlaku bahawa kita akan mewujudkan objek kelas anak, tetapi bukan kelas induk. Ia hanya diperlukan untuk kita untuk mengumpulkan sifat dan kaedah umum.
Dalam kes ini, untuk secara jelas melarang penciptaan
objek kelas induk, kita boleh
mengisytiharkannya sebagai abstrak. Ini
dilakukan dengan menggunakan kata kunci abstract.
Mari kita lihat contoh. Ambil kelas
User kita dan isytiharkannya sebagai abstrak:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Mari buat kelas Student, yang mewarisi
dari User:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
Mari buat kelas Employee, yang mewarisi
dari User:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
Buat kelas abstrak Figure,
yang mewakili bentuk geometri.
Biarkan ia mempunyai sifat untuk perimeter
dan luas.
Buat kelas Square, yang mewarisi
dari kelas Figure.
Buat kelas Rectangle, yang mewarisi
dari kelas Figure.