Metode Abstrak dalam OOP di TypeScript
Terkadang terjadi bahwa kelas-kelas turunan harus
memiliki metode yang sama, namun, implementasi dari
metode ini tergantung pada turunan spesifiknya. Dalam
kasus ini, metode dapat dideklarasikan di
kelas induk abstrak, tanpa menulis
implementasinya. Dan kemudian para turunan akan
diwajibkan untuk mengimplementasikan metode-metode ini. Metode seperti ini
disebut metode abstrak dan
juga dideklarasikan menggunakan kata kunci
abstract.
Mari kita ambil kelas abstrak kita
User sebagai contoh. Biarkan para pewaris dari
kelas ini harus memiliki metode show,
yang menampilkan data objek.
Implementasi dari metode ini, bagaimanapun, akan
tergantung pada turunannya. Mari kita deklarasikan
metode ini sebagai abstrak dalam kelas User:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Mari kita implementasikan metode ini di kelas turunan Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Mari kita implementasikan metode ini di kelas turunan Employee:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Dalam kelas abstrak Figure buatlah
metode abstrak untuk mendapatkan luas
dan keliling.
Dalam kelas-kelas turunan Square dan
Rectangle tuliskan implementasi dari
metode-metode ini.