rectangle-terminalPython

  • สนับสนุน OOP แต่ยังคงใช้โครงสร้างพื้นฐานแบบภาษา imperative (รากฐานจากภาษา C++, C(K&R), Pascal) เป็นภาษาที่ง่ายและยืดหยุ่นสำหรับ OOP โดยทุกอย่างใน Python เป็นวัตถุ

  • คลาสและวัตถุ: ใช้คำว่า class สำหรับการสร้างคลาส

  • การสืบทอด: ใช้เครื่องหมายวงเล็บ () สำหรับการสืบทอด

  • การจัดการหน่วยความจำ: Python ใช้ garbage collector จัดการหน่วยความจำอัตโนมัติ

ตัวอย่าง:

class Animal:
    def __init__(self):
        print("create animal")
        
    def __del__(self):
        print("delete animal")
        
    def sound(self):
        print("animal makes a sound")

class Dog(Animal):
    def __init__(self):
        super().__init__()
        print("dog")
        
    def __del__(self):
        print("delete dog")
        super().__del__()
        
    def sound(self):
        print("dog barks")

class Cat(Animal):
    def __init__(self):
        super().__init__()
        print("cat")
        
    def __del__(self):
        print("delete cat")
        super().__del__()
        
    def sound(self):
        print("cat meows")

if __name__ == "__main__":
    a = Animal()
    d = Dog()
    c = Cat()
    
    a.sound() # animal makes a sound
    d.sound() # dog barks
    c.sound() # cat meows

Last updated