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

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

ตัวปรับเปลี่ยนการเข้าถึง
ตัวปรับเปลี่ยนการเข้าถึง
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 เชิงวัตถุที่สะอาดและมีประสิทธิภาพ

คำถามที่พบบ่อย
บทเรียน “ความสามารถขั้นสูงของคลาส” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ความสามารถขั้นสูงของคลาส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การจำกัดชนิดข้อมูลขั้นสูง
- ความสามารถขั้นสูงของคลาส
- ชนิดข้อมูลแบบมีเงื่อนไข