Perluasan Antarmuka dalam OOP di TypeScript
Antarmuka dalam TypeScript dapat mewarisi
satu sama lain. Interaksi seperti ini
disebut perluasan antarmuka.
Mari kita lihat contohnya. Misalkan kita memiliki
antarmuka ISize:
interface ISize {
height: number;
width: number;
}
Mari buat antarmuka IStyle, yang
akan memperluas ISize:
interface IStyle extends ISize {
color: string;
}
Sekarang mari kita buat kelas Figure,
yang mengimplementasikan antarmuka IStyle.
Kelas kita harus mengimplementasikan properti
dari antarmuka itu sendiri, maupun dari induknya.
Mari kita lakukan:
class Figure implements IStyle {
height: number;
width: number;
color: string;
constructor(height: number, width: number, color: string) {
this.height = height;
this.width = width;
this.color = color;
}
}
Mari kita periksa hasilnya:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Buatlah antarmuka IProgrammer dengan
properti salary dan language.
Biarkan antarmuka ini mewarisi IUser
dengan properti name, birthday.
Buatlah kelas Employee, yang
mengimplementasikan IProgrammer.