0Pricing
TypeScript Academy · บทเรียน

ความสามารถขั้นสูงของคลาส

ค้นพบความสามารถขั้นสูงของคลาส เช่น คลาสนามธรรม ตัวระบุการเข้าถึง และสมาชิกแบบสแตติก เพื่อเขียนโค้ด TypeScript เชิงวัตถุที่สะอาดและเป็นโมดูล

ความสามารถขั้นสูงของคลาส เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน

บทนำเกี่ยวกับคุณลักษณะขั้นสูงของคลาส

บทนำเกี่ยวกับคุณลักษณะขั้นสูงของคลาส

TypeScript มีคุณลักษณะขั้นสูงของคลาสหลายอย่างที่ช่วยให้คุณเขียนโค้ดเชิงวัตถุซึ่งแบ่งเป็นโมดูล ขยายขนาดได้ และดูแลรักษาได้ง่าย

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

ความสามารถขั้นสูงของคลาส — ภาพประกอบ 1

ภาพรวมคุณลักษณะขั้นสูงของคลาส

บทนำเกี่ยวกับคุณลักษณะขั้นสูงของคลาส

TypeScript มีคุณลักษณะขั้นสูงของคลาสหลายอย่างที่ช่วยให้คุณเขียนโค้ดเชิงวัตถุซึ่งแบ่งเป็นโมดูล ขยายขนาดได้ และดูแลรักษาได้ง่าย

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

ความสามารถขั้นสูงของคลาส — ภาพประกอบ 2

ตัวปรับเปลี่ยนการเข้าถึง

ตัวปรับเปลี่ยนการเข้าถึง

TypeScript มีตัวปรับเปลี่ยนการเข้าถึงสามแบบเพื่อควบคุมการมองเห็นของสมาชิกในคลาส:

  • public: เข้าถึงได้จากทุกที่ (ค่าเริ่มต้น)
  • private: เข้าถึงได้เฉพาะภายในคลาส
  • protected: เข้าถึงได้ภายในคลาสและคลาสย่อย
class Person {
  public name: string;
  private age: number;
  protected role: string;

  constructor(name: string, age: number, role: string) {
    this.name = name;
    this.age = age;
    this.role = role;
  }
}

class Employee extends Person {
  getRole(): string {
    return this.role; // Accessible because it's protected
  }
}

คลาสนามธรรม

คลาสนามธรรม

คลาสนามธรรมใช้เป็นต้นแบบสำหรับคลาสอื่น ไม่สามารถสร้างวัตถุจากคลาสเหล่านี้โดยตรงได้ และอาจมีเมธอดนามธรรม

abstract class Shape {
  abstract getArea(): number;
}

class Circle extends Shape {
  constructor(public radius: number) {
    super();
  }

  getArea(): number {
    return Math.PI * this.radius ** 2;
  }
}

const circle = new Circle(5);
console.log(circle.getArea()); // 78.54

สมาชิกแบบคงที่

สมาชิกแบบคงที่

สมาชิกแบบคงที่เป็นของคลาสเอง ไม่ใช่ของวัตถุใด ๆ ในคลาส เข้าถึงสมาชิกเหล่านี้โดยใช้ชื่อคลาส

class MathUtils {
  static PI = 3.14;

  static calculateCircleArea(radius: number): number {
    return this.PI * radius ** 2;
  }
}

console.log(MathUtils.PI); // 3.14
console.log(MathUtils.calculateCircleArea(5)); // 78.5

ตัวอ่านค่าและตัวกำหนดค่า

ตัวอ่านค่าและตัวกำหนดค่า

ตัวอ่านค่าและตัวกำหนดค่าช่วยให้คุณควบคุมวิธีเข้าถึงหรือแก้ไขคุณสมบัติในคลาสได้

class Person {
  private _name: string;

  constructor(name: string) {
    this._name = name;
  }

  get name(): string {
    return this._name;
  }

  set name(newName: string) {
    this._name = newName;
  }
}

const person = new Person('Alice');
console.log(person.name); // Alice
person.name = 'Bob';
console.log(person.name); // Bob

คุณสมบัติอ่านอย่างเดียว

คุณสมบัติอ่านอย่างเดียว

ตัวปรับเปลี่ยน readonly จะทำให้คุณสมบัติถูกกำหนดค่าได้เฉพาะระหว่างการเริ่มต้น และไม่สามารถแก้ไขได้ภายหลัง

class Vehicle {
  readonly make: string;

  constructor(make: string) {
    this.make = make;
  }
}

const car = new Vehicle('Toyota');
console.log(car.make); // Toyota
// car.make = 'Honda'; // Error: Cannot assign to 'make' because it is a read-only property.

ตัวสร้างแบบส่วนตัวและแบบมีการป้องกัน

ตัวสร้างแบบส่วนตัวและแบบมีการป้องกัน

คลาสสามารถมีตัวสร้างแบบส่วนตัวหรือแบบมีการป้องกัน เพื่อควบคุมวิธีและตำแหน่งที่สามารถสร้างวัตถุจากคลาสได้

class Singleton {
  private static instance: Singleton;

  private constructor() {}

  static getInstance(): Singleton {
    if (!this.instance) {
      this.instance = new Singleton();
    }
    return this.instance;
  }
}

const singleton = Singleton.getInstance();
console.log(singleton);

งานฝึกปฏิบัติ

งานฝึกปฏิบัติ

สร้างคลาสที่มีตัวสร้าง protected และขยายคลาสนั้นเป็นคลาสย่อย เพิ่มเมธอดเพื่อเข้าถึงคุณสมบัติที่ได้รับการปกป้องในคลาสย่อย

ยินดีด้วย!

ยินดีด้วย!

คุณได้เรียนรู้ความสามารถขั้นสูงของคลาส เช่น ตัวปรับเปลี่ยนการเข้าถึง คลาสนามธรรม สมาชิกแบบคงที่ และอื่น ๆ แล้ว ฝึกฝนแนวคิดเหล่านี้เพื่อเขียนโค้ด TypeScript เชิงวัตถุที่สะอาดและมีประสิทธิภาพ

ความสามารถขั้นสูงของคลาส — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “ความสามารถขั้นสูงของคลาส” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ความสามารถขั้นสูงของคลาส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ความสามารถขั้นสูงของคลาส”

ค้นพบความสามารถขั้นสูงของคลาส เช่น คลาสนามธรรม ตัวระบุการเข้าถึง และสมาชิกแบบสแตติก เพื่อเขียนโค้ด TypeScript เชิงวัตถุที่สะอาดและเป็นโมดูล คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน

บทเรียน “ความสามารถขั้นสูงของคลาส” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การจำกัดชนิดข้อมูลขั้นสูง
  2. ความสามารถขั้นสูงของคลาส
  3. ชนิดข้อมูลแบบมีเงื่อนไข
← กลับไปที่ TypeScript Academy