# การใช้งาน Inheritance ใน OOP Concept บน Node.js: คู่มือเข้าใจง่ายด้วยตัวอย่างโค้ด
การเขียนโปรแกรมแบบวัตถุนิยม (Object-Oriented Programming - OOP) หนึ่งในคอนเซพต์ที่สำคัญคือ "Inheritance" หรือ "การสืบทอด". ด้วยการใช้ inheritance, คลาส (class) สามารถรับคุณสมบัติและวิธีการ (properties and methods) มาจากคลาสอื่น ซึ่งประหยัดเวลาในการเขียนโค้ดและทำให้โค้ดมีโครงสร้างที่ดีขึ้น โดยใน Node.js ซึ่งเป็นรันไทม์สำหรับการทำงานของ JavaScript บนเซิร์ฟเวอร์ การใช้งาน inheritance เป็นสิ่งสำคัญเช่นกัน เพื่อการเข้าใจเรื่องนี้ให้ลึกซึ้ง, มาดูและวิเคราะห์ตัวอย่างโค้ด 3 รูปแบบการใช้งาน inheritance ใน Node.js กัน:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} สามารถทำเสียงได้`);
}
}
class Dog extends Animal {
constructor(name) {
super(name);
}
speak() {
console.log(` ${this.name} หอนห่าน!`);
}
}
const myPet = new Dog('Lucky');
myPet.speak(); // Output: Lucky หอนห่าน!
ในตัวอย่างนี้, `Dog` สืบทอดคุณสมบัติจาก `Animal`. ด้วยการเรียกใช้ method `super(name);` เราแทนค่า constructor ของ parent class พร้อมกับเพิ่มฟังก์ชัน speak() ของตัวเอง ทีนี้เมื่อเรียกใช้ `myPet.speak()`, ผลลัพธ์จะแสดงถ้อยคำที่ถูกกำหนดในคลาส `Dog`.
class Cat extends Animal {
speak() {
super.speak(); // ใช้เมธอด speak จากคลาสแม่
console.log(`และ ${this.name} ก็ร้องเหมียว`);
}
}
const myOtherPet = new Cat('Molly');
myOtherPet.speak();
/*
Output:
Molly สามารถทำเสียงได้
และ Molly ก็ร้องเหมียว
*/
ในตรงนี้, `Cat` ยังคงใช้ method `speak()` แต่ได้เพิ่มการใช้ตัวเองเข้าไปด้วยเมธอด `super.speak()` ที่เรียกใช้ฟังก์ชัน speak จากคลาส Animal ก่อนที่จะต่อด้วยการร้องเหมียว.
function makeThemSpeak(animals) {
animals.forEach(animal => animal.speak());
}
const animals = [new Animal('Momo'), new Dog('Buddy'), new Cat('Luna')];
makeThemSpeak(animals);
/*
Output:
Momo สามารถทำเสียงได้
Buddy หอนห่าน!
Luna สามารถทำเสียงได้
และ Luna ก็ร้องเหมียว
*/
Polymorphism คือ ใน OOP, วัตถุต่างๆ สามารถถูกกำหนดรูปแบบใหม่และมีการทำงานที่โดดเด่นในการเรียกเมธอดที่เหมือนกัน ในตัวอย่างนี้, ฟังก์ชัน `makeThemSpeak` รับวัตถุที่มีฟังก์ชัน `speak` จาก classes ต่างๆ และเมื่อเรียกใช้งาน, มันเรียกเมธอด `speak()` ที่สอดคล้องกับแต่ละวัตถุ.
นอกจากตัวอย่างโปรแกรมสัตว์เลี้ยงข้างต้นแล้ว การใช้งาน inheritance ยังมีประโยชน์ในหลายๆ ส่วนของการพัฒนาซอฟต์แวร์ เช่น การพัฒนาเว็บแอปพลิเคชันด้วย Node.js ที่มักจะมีโครงสร้างของ components หรือ services ที่ส่วนหนึ่งสามารถนำมาใช้ร่วมกันได้ ด้วยการใช้ inheritance, อาจเพิ่ม code reuse และลดความซับซ้อนของโปรเจ็กต์ได้อย่างมาก.
สำหรับท่านที่ต้องการพัฒนาทักษะในการเขียนโปรแกรมด้วยการใช้งาน inheritance ใน Node.js และมองหาสถานที่ที่สามารถเรียนรู้และทำความเข้าใจตัวอย่างโค้ดอย่างเป็นระบบ, EPT คือองค์กรที่จะช่วยให้คุณได้เรียนรู้ไปพร้อมกับประยุกต์ใช้ความรู้ไปกับ case studies จริงและโปรเจ็กต์ต่างๆ เชิญร่วมกับเรา ณ EPT และสร้างอนาคตที่มั่นคงในการเป็นนักพัฒนาซอฟต์แวร์ไปด้วยกัน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: inheritance oop node.js class method override polymorphism code_example javascript programming web_development software_development ept learning case_studies
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com