อินเทอร์เฟซสำหรับคลาส OOP ใน TypeScript
อินเทอร์เฟซใน TypeScript ยังถูกใช้อย่างกว้างขวาง
ในฐานะเทมเพลตสำหรับคลาสด้วย เพื่อที่จะ
ใช้อินเทอร์เฟซที่ต้องการกับคลาส
หลังจากชื่อคลาส ให้เขียนคำสำคัญ
implements และตามด้วยชื่ออินเทอร์เฟซ
ในขณะที่อินเทอร์เฟซจะอธิบายเฉพาะ คุณสมบัติและเมธอดสาธารณะของคลาสเท่านั้น ส่วนที่เป็นส่วนตัว จะถูกกำหนดในตัวคลาสเองและไม่ได้ถูกอธิบายในอินเทอร์เฟซ
ลองทดสอบในทางปฏิบัติ สมมติว่าเรามี อินเทอร์เฟซต่อไปนี้ ที่กำหนดคุณสมบัติและ เมธอด:
interface IUser {
name: string;
greet(): string;
}
มาสร้างคลาสที่ใช้อินเทอร์เฟซนี้กัน
ในคลาสนี้ เราต้องมีคุณสมบัติ
name และเมธอด greet ที่ถูกนำมาใช้:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
สร้างอินเทอร์เฟซ IMath พร้อมคุณสมบัติ
num1 และ num2 และเมธอด
getDiv ซึ่งจะทำการหารตัวเลขแรก
ด้วยตัวเลขที่สอง
สร้างคลาส Math ที่ใช้อินเทอร์เฟซ
IMath