Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่7 Object Oriented Programming, image, image, image - Coggle Diagram
บทที่7
Object Oriented Programming
การห่อหุ้ม ( Encapsulation)
ความหมาย
การห่อหุ้ม ( Encapsulation ) คือ เป็นกระบวนการซ่อนรายละเอียดการทำงานและข้อมูลไว้ภายใน ไม่ให้ภายนอกสามารถมองเห็นได้ เรียกว่า “information hiding” และเมื่อภายนอกมองไม่เห็นสิ่งที่ซ่อนอยู่ภายในก็จะไม่สามารถเปลี่ยนแปลงแก้ไขสิ่งที่อยู่ภายในได้
การพ้องรูป ( Polymorphism )
ความหมาย
การพ้องรูป ( Polymorphism ) คือ การอนุญาตให้ตั้งชื่อฟังก์ชั่นการทำงานซ้ำกันได้
ประเภท
แบ่งเป็น 2 ประเภทคือ
Overloading
Overriding
Overloading and Overriding Method
Overloading Method
คือ Method ที่มีชื่อเหมือนกัน และอยู่ภายใน Class เดียวกัน สิ่งที่แยกความแตกต่างของ Method ที่เป็น Overload Method คือ Parameter (เป็นผลมาจากคุณสมบัติของ Polymorphism )
Overriding Method
คือ Method ของ Class ลูก (SubClass) ที่มีชื่อเหมือนกับ Method ของ CLass แม่ (super Class) (เป็นผลมาจากคุณสมบัติของการ inheritance)
Abstraction
ความหมาย
Abstraction คือ กลุ่มของกระบวนการในการสร้างแนวคิดของ Class จากกลุ่มของ Object ที่เราสนใจ
การกำจัดข้อมูลที่ไม่เกี่ยวข้องทิ้งไป โดยให้เหลือข้อมูลที่ต้องการต่อการแก้ปัญหาเท่านั้น
ความหมาย
OOP คือ การเขียนโปรแกรมเชิงวัตถุ เป็นวิธีการเขียนโปรแกรม โดยอาศัยแนวคิดของ "วัตถุ" ( Object )
ซึ่งมีการสร้าง Object หรือมีการเรียกใช้ Object ให้ทํางาน ตามที่เราต้องการ โดยที่ในการเรียกใช้ Object นั้น เราจะสนใจเฉพาะการทํางานของ Object เท่านั้น ไม่จําเป็นต้องสนใจรายละเอียดภายในของ Object ว่าเป็นอย่างไร
-วัตถุประสงค์หลัก คือ เพื่อให้เกิดความยืดหยุ่นในการเขียนโปรแกรมในขณะที่สร้างแอปพลิเคชันซอฟต์แวร์ขนาดเล็กและใหญ่
-ภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ เช่น Java, C++, Python, C# , PHP ฯลฯ
คลาส (Class)
ความหมาย
คลาส ( Class ) คือ ต้นแบบของวัตถุ( Object) หรือเป็นแม่แบบของวัตถุ ( Prototype ) สำหรับใช้ในการพัฒนาโปรแกรมแบบ OOP (Object Oriented Programming) โดยวัตถุแต่ละสิ่งนั้นจะมีคุณลักษณะและการทำงานที่เหมือนกัน หรือคล้ายกัน
Class เปรียบเสมือน พิมพ์เขียว ที่ กำหนดโครงสร้าง และแบบแปลน ต่าง ๆ ว่า Object ที่สร้างจาก Class ควรจะมีอะไรบ้าง
วัตถุ(Object)
ความหมาย
วัตถุ ( Object ) คือ วัตถุในโลกทั้งที่จับต้องได้ (Tangible) และจับต้องไม่ได้ (Intangible)
วัตถุ (Object) คือ สิ่งที่ถูกสร้างขึ้นจากคลาส( Class ) ซึ่ง Object จะมีคุณสมบัติ (Property) และพฤติกรรม ( Method ) เหมือนกันกับคลาส( Class ) ทุกประการ
ตัวอย่าง
class MyClass:
x = 5
y = x + 21 / 2
z = x + y
myObject = MyClass()
การสืบทอด (inheritance)
ความหมาย
การสืบทอด ( inheritance ) คือ การรับเอาคุณสมบัติบางอย่างมาจากสิ่งเดิมที่มีอยู่แล้ว จากนั้นก็สร้างเพิ่มเติมสิ่งใหม่ที่ต้องการเข้าไป ซึ่งช่วยให้ประหยัดเวลาการทำงาน ไม่ต้องเสียเวลาพัฒนาใหม่
การสร้าง Class ใหม่จาก Class เดิมที่มีอยู่แล้วโดยมีการถ่ายทอดคุณสมบัติจาก Class หลัก
ตัวอย่าง
*Super Class
class Person:
def --init--(self, firstName, lastName):
self.firstName = firstName
self.lastName = lastName
def getName(self):
return self.firstName + ' ' + self.lastName
*Sub Class
class Student(Person):
print('hello how are you')
p = Student('nuch', 'nook')
p.career = 'Programmer
p.country = 'Thailand'
print('Name: ' + p.getName())
print('Career: ' + p.career)
print('Country: ' + p.country)