การเขียนโปรแกรมแบบวัตถุมุ่ง (Object-Oriented Programming หรือ OOP) คือหัวใจสำคัญของการพัฒนาซอฟต์แวร์ในยุคนี้ เพราะมันช่วยให้การพัฒนาซอฟต์แวร์เป็นไปด้วยความเป็นระเบียบ มีโครงสร้าง และสามารถปรับเปลี่ยนได้ง่าย TypeScript มาพร้อมกับลูกเล่น OOP ที่ทำให้นักพัฒนาสามารถเขียนโค้ดในลักษณะนี้ได้บนเว็บแอปพลิเคชั่น นี่คือบทความที่จะนำท่านไปสำรวจโลกของ OOP ในภาษา TypeScript และการใช้งานในโลกจริงง่ายๆ พร้อมตัวอย่างโค้ดที่ใช้ประกอบการอธิบาย
TypeScript เป็นภาษาโปรแกรมที่พัฒนาจาก JavaScript เพื่อเพิ่มความสามารถในการ type-checking และรองรับสิ่งที่ JavaScript ไม่มี เช่น `คลาส` (class) และ `อินเตอร์เฟซ` (interface) ซึ่งเป็นหัวใจหลักของ OOP
1. คลาส (Class)คลาสใน TypeScript เป็นแบบแผนสำหรับการสร้างวัตถุ (object)
ตัวอย่างโค้ด:
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(distanceInMeters: number = 0): void {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
let dog = new Animal("Dog");
dog.move(10); // Output: Dog moved 10m.
ในตัวอย่างข้างต้น คลาส `Animal` รองรับการสร้างวัตถุที่มีคุณสมบัติ `name` และสามารถ `move` ได้
2. คุณสมบัติทางการสืบทอด (Inheritance)เป็นการสร้างคลาสใหม่ที่ขยายคุณสมบัติจากคลาสอื่น
ตัวอย่างโค้ด:
class Snake extends Animal {
constructor(name: string) {
super(name);
}
move(distanceInMeters = 5) {
console.log("Slithering...");
super.move(distanceInMeters);
}
}
let snake = new Snake("Snake");
snake.move(); // Output: Slithering... Snake moved 5m.
ในตัวอย่าง `Snake` สืบทอดจาก `Animal` และมีการขยายเพิ่มเติมพฤติกรรมการเคลื่อนไหว
3. การซ่อนรายละเอียดโดยใช้ Encapsulationการห่อหุ้มวัตถุไว้ภายใน ช่วยให้สามารถควบคุมการเข้าถึงคุณสมบัติหรือเมธอดได้
ตัวอย่างโค้ด:
class Plant {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(name: string) {
this._name = name;
}
}
let plant = new Plant("Sunflower");
console.log(plant.name); // Output: Sunflower
plant.name = "Daisy";
console.log(plant.name); // Output: Daisy
ในตัวอย่าง, `_name` เป็นคุณสมบัติส่วนตัวที่ไม่สามารถเข้าถึงได้โดยตรงจากนอกคลาส `Plant` แต่สามารถเข้าถึงผ่าน `getter` และ `setter`
การใช้งาน OOP ใน TypeScript สามารถประยุกต์ใช้ได้กับการพัฒนาหลายๆ ด้าน เช่น:
- การพัฒนาเกม โดยใช้คลาสสำหรับสร้างตัวละคร
- การพัฒนาแอปพลิเคชั่นบริหารจัดการด้านธุรกิจ ที่มีวัตถุเป็นลูกค้า, ผลิตภัณฑ์, การทำธุรกรรม
- การพัฒนาโมดูลสำหรับระบบอีคอมเมิร์ซ ที่รองรับสินค้า, การชำระเงิน, การจัดส่ง
- การพัฒนาไลบรารี่ที่เกี่ยวกับการบริหารจัดการข้อมูลทางวิทยาศาสตร์หรืออุตสาหกรรม
การศึกษาทางด้านการเขียนโปรแกรมแบบ OOP ใน TypeScript จะช่วยให้คุณเข้าใจหลักการของการแบ่งแยกความรับผิดชอบ, การสร้างโค้ดที่สามารถนำกลับมาใช้ซ้ำ (reusability), และการปรับปรุงโค้ดแบบมีโครงสร้างได้ง่ายมากขึ้น
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM