คลาสนามธรรม OOP ใน TypeScript

มีสถานการณ์ที่เรามีคลาสหลัก ที่เก็บคุณสมบัติและเมธอดทั่วไป และมีคลาสลูกสืบทอดมาจากมัน

ในขณะเดียวกัน อาจเป็นไปได้ว่าเราจะ สร้างอ็อบเจ็กต์ของคลาสลูก แต่ไม่ใช่ คลาสหลัก มันมีความจำเป็นสำหรับเราเพียง เพื่อจัดกลุ่มคุณสมบัติและเมธอดทั่วไป

ในกรณีนี้ เพื่อห้ามการสร้าง อ็อบเจ็กต์ของคลาสหลักโดยชัดเจน เราสามารถ ประกาศให้มันเป็นคลาสนามธรรมได้ นี่ ทำได้โดยใช้คำสำคัญabstract

มาดูตัวอย่างกัน ลองนำคลาส User ของเราและประกาศให้มันเป็นคลาสนามธรรม:

typescriptabstract class User {
  public name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

สร้างคลาสStudent ที่สืบทอด จากUser:

typescriptclass Student extends User {
  public course: number;

  constructor(name: string, course: number) {
    super(name);
    this.course = course;
  }
}

สร้างคลาสEmployee ที่สืบทอด จากUser:

typescriptclass Employee extends User {
  public salary: number;

  constructor(name: string, salary: number) {
    super(name);
    this.salary = salary;
  }
}
Задание 1

สร้างคลาสนามธรรมFigure ซึ่งเป็นรูปทรงเรขาคณิต ให้มีคุณสมบัติสำหรับความยาวรอบรูป และพื้นที่

Задание 2

สร้างคลาสSquare ที่สืบทอด จากคลาสFigure

Задание 3

สร้างคลาสRectangle ที่สืบทอด จากคลาสFigure