มาดูตัวอย่างจาก code นี้นะครับ
ตัวอย่างนี้ผมจะยกตัวอย่าง โดยที่จะสร้าง Class Person เป็น super class และสร้าง Class Eployee เป็น Class ลูก
โค้ด: เลือกทั้งหมด
class Person:
def __init__(self, firstName, lastName):
self.firstName = firstName
self.lastName = lastName
def getName(self):
return self.firstName + ' ' + self.lastName
class Employee(Person):
def setWorkDetail(self, department, position):
self.department = department
self.position = position
def getWorkDetail(self):
return self.position + ', ' + self.department
emp1 = Employee('Mr.MDsoft', 'Mindphp')
emp1.setWorkDetail('Software Engineer', 'Python programmer')
print('Name: ' + emp1.getName())
print('Work: ' + emp1.getWorkDetail())
print("\n")
emp2 = Employee('เรียนดี', 'เพราะรักเรียน')
emp2.setWorkDetail('Sound Engineer', 'Musical acoustics')
print('Name: ' + emp2.getName())
print('Work: ' + emp2.getWorkDetail())
Name: Mr.MDsoft Mindphp
Work: Python programmer, Software Engineer
Name: เรียนดี เพราะรักเรียน
Work: Musical acoustics, Sound Engineer
ในตัวอย่าง เราได้สร้างคลาส Person ซึ่งคลาสนี้เป็น super class เพื่อที่จะนำไปให้คลาสอื่นสืบทอด ในคลาสมีสองแอตทริบิวต์คือ firstName ใช้สำหรับเก็บชื่อ และ lastName ใช้สำหรับเก็บนามสกุล และมีเมธอด getName() เพื่อรับชื่อและนามสกุลได้ในพร้อมกัน
หลังจากนั้นเราได้สร้างคลาส Employee ซึ่งได้สืบทอดมาจากคลาส Person นั่นหมายความว่าแอตทริบิวต์และเมธอดทั้งหมดจากคลาส Person จะถูกถ่ายทอดมายังคลาสนี้ด้วย นั่นจะทำให้มันมีทุกอย่างเหมือนที่คลาสหลักมี และนอกจากนี้ในคลาสนี้ยังมีเมธอดและแอตทริบิวต์เพิ่มเติมของมันเอง โดยเมธอด setWorkDetail() เป็นเมธอดสำหรับกำหนดรายละเอียดการทำงานโดยมีตำแหน่งงานและแผนกที่สังกัด และเมธอด getWorkDetail() แสดงข้อมูลเกี่ยวกับการทำงาน
หลังจากเราได้สร้างคลาสเสร็จแล้ว ต่อไปเป็นการนำมาใช้งาน เราได้สร้างออบเจ็คของ Employee ขึ้นมาสองออบเจ็คคือ emp1 และ emp2 แต่ละออบเจ็คได้มีการกำหนดชื่อและนามสกุล และมีการกำหนดข้อมูลการทำงาน หลังจากนั้นเป็นการแสดงข้อมูลเกี่ยวกับแต่ละคน โดยแสดงชื่อและข้อมูลการทำงาน