# ความเข้าใจใน OOP หรือ Object-Oriented Programming 0102 และการประยุกต์ใช้ในภาษา C#
OOP หรือ Object-Oriented Programming คือ แนวทางหนึ่งในการเขียนโปรแกรมที่เน้นการแบ่งส่วนของโปรแกรมเป็น "วัตถุ" (object) ที่ประกอบด้วยข้อมูลเฉพาะตัว (attributes) และพฤติกรรม (methods) เข้าด้วยกันในรูปแบบที่เรียกว่า "คลาส" (class) แนวทางนี้ช่วยให้โค้ดมีโครงสร้างที่เป็นระเบียบและสามารถนำกลับมาใช้ใหม่ได้ (reuse) รวมทั้งง่ายต่อการบำรุงรักษา (maintainable) และขยายขอบเขต (scalable) โดยมีหลักการพื้นฐานสำคัญ คือ Encapsulation, Inheritance, และ Polymorphism เราจะมาพูดถึงวิธีการใช้ OOP ในภาษา C# และยกตัวอย่างการใช้งานให้เห็นภาพมากยิ่งขึ้น
Encapsulation คือ หลักการซ่อนรายละเอียดในการทำงานภายในวัตถุ จะเข้าถึงข้อมูลได้เฉพาะผ่าน methods ที่กำหนดเท่านั้น เพื่อป้องกันการเข้าถึงข้อมูลโดยตรงจากภายนอก
public class Employee
{
private double salary;
public double GetSalary()
{
return salary;
}
public void SetSalary(double newSalary)
{
if(newSalary >= 0)
salary = newSalary;
}
}
วิธีนี้ช่วยทำให้ข้อมูลโดยเฉพาะ `salary` ไม่ถูกแก้ไขโดยไม่ผ่านกระบวนการที่เราต้องการ สะท้อนการควบคุมการเข้าถึงข้อมูลได้ดี
การสืบทอดเป็นการสร้างคลาสใหม่เพื่อเรียกใช้หรือ "ขยาย" คุณสมบัติและพฤติกรรมจากคลาสพื้นฐานหรือคลาสแม่
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Student : Person
{
public string StudentID { get; set; }
}
public class Teacher : Person
{
public string TeacherID { get; set; }
}
ทั้งนักเรียน (Student) และครู (Teacher) แชร์คุณสมบัติเหมือนกันจากคน (Person) เช่น ชื่อและอายุ การสืบทอดช่วยลดการซ้ำซ้อนของโค้ด
Polymorphism ให้วัตถุมีหลายรูปแบบพฤติกรรมการทำงานขึ้นอยู่กับ context หรือแม้แต่ชนิดของข้อมูลที่วัตถุนั้นจัดเก็บ
public class Shape
{
public virtual void Draw()
{
Console.WriteLine("Drawing a shape.");
}
}
public class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle.");
}
}
public class Square : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a square.");
}
}
Shape shape = new Circle();
shape.Draw(); // Output: Drawing a circle.
แม้ shape จะเป็นประเภท Shape แต่เมื่อมันอ้างอิงไปที่ Circle มันก็สามารถ Draw แบบวงกลมได้
ระบบการจัดการพนักงาน (Employee Management System)
การจัดการพนักงานหลายคนภายในบริษัทสามารถทำได้อย่างมีระเบียบและง่ายต่อการขยายขอบเขตด้วย OOP เราสามารถสร้าง Class 'Employee' แล้วมี Subclass เช่น 'Manager', 'Developer', 'Designer' ที่มี Methods และ Attributes เฉพาะตัวเช่น `AssignTask()`, `ReportProgress()` เป็นต้น
ระบบการจำลองการรับหน้าที่ของอุปกรณ์ (Device Simulation System)
OOP ช่วยในการสร้างโมเดลของอุปกรณ์ต่างๆ เช่น คอมพิวเตอร์, เครื่องพิมพ์, หรือสมาร์ทโฟน ในแต่ละอุปกรณ์ที่โมเดลนั้นเราสามารถใช้ Inheritance เพื่อสืบทอดคุณสมบัติของอุปกรณ์พื้นฐานและเพิ่มหรือแก้ไขโดย Polymorphism ทำให้แต่ละโมเดลทำหน้าที่ตามลักษณะเฉพาะได้อย่างแม่นยำ
การเรียนรู้ OOP นั้นมิใช่แค่พื้นฐานของการเขียนโปรแกรม เพราะว่ามันสะท้อนถึงการทำงานของโลกจริงที่เราพยายามจะจำลองมันผ่านโปรแกรมคอมพิวเตอร์ ที่ EPT เราพร้อมที่จะพาทุกคนทำความเข้าใจและยกระดับการเขียนโปรแกรมของคุณให้มากยิ่งขึ้นด้วยการนำเสนอวิธีการนำ OOP ไปประยุกต์ใช้แบบที่คุ้นเคยและอธิบายการทำงานอย่างละเอียดยิบ สนใจเรียนรู้เพิ่มเติมเกี่ยวกับ OOP หรือคอร์สอื่นๆ ที่ EPT? พวกเราพร้อมให้คำแนะนำและสนับสนุนคุณในทุกขั้นตอนการเรียนรู้การเขียนโปรแกรม!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: oop object-oriented_programming c# encapsulation inheritance polymorphism employee_management_system device_simulation_system programming classes methods attributes hierarchy reuse maintainable
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM