คลาสนามธรรม OOP ใน TypeScript
มีสถานการณ์ที่เรามีคลาสหลัก ที่เก็บคุณสมบัติและเมธอดทั่วไป และมีคลาสลูกสืบทอดมาจากมัน
ในขณะเดียวกัน อาจเป็นไปได้ว่าเราจะ สร้างอ็อบเจ็กต์ของคลาสลูก แต่ไม่ใช่ คลาสหลัก มันมีความจำเป็นสำหรับเราเพียง เพื่อจัดกลุ่มคุณสมบัติและเมธอดทั่วไป
ในกรณีนี้ เพื่อห้ามการสร้าง
อ็อบเจ็กต์ของคลาสหลักโดยชัดเจน เราสามารถ
ประกาศให้มันเป็นคลาสนามธรรมได้ นี่
ทำได้โดยใช้คำสำคัญabstract
มาดูตัวอย่างกัน ลองนำคลาส
User ของเราและประกาศให้มันเป็นคลาสนามธรรม:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
สร้างคลาสStudent ที่สืบทอด
จากUser:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
สร้างคลาสEmployee ที่สืบทอด
จากUser:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
สร้างคลาสนามธรรมFigure
ซึ่งเป็นรูปทรงเรขาคณิต
ให้มีคุณสมบัติสำหรับความยาวรอบรูป
และพื้นที่
สร้างคลาสSquare ที่สืบทอด
จากคลาสFigure
สร้างคลาสRectangle ที่สืบทอด
จากคลาสFigure