Triển khai các khái niệm hướng đối tượng

Trong chương này, chúng ta sẽ tập trung vào các mẫu sử dụng các khái niệm hướng đối tượng và việc triển khai nó trong Python. Khi chúng ta thiết kế chương trình của mình xung quanh các khối câu lệnh, thao tác dữ liệu xung quanh các hàm, nó được gọi là lập trình hướng thủ tục. Trong lập trình hướng đối tượng, có hai thể hiện chính được gọi là lớp và đối tượng.

Làm thế nào để triển khai các lớp và các biến đối tượng?

Việc triển khai các lớp và biến đối tượng như sau:

class Robot:
   population = 0
   
   def __init__(self, name):
      self.name = name
      print("(Initializing {})".format(self.name))
      Robot.population += 1
   
   def die(self):
      print("{} is being destroyed!".format(self.name))
      Robot.population -= 1
      if Robot.population == 0:
         print("{} was the last one.".format(self.name))
      else:
         print("There are still {:d} robots working.".format(
            Robot.population))
   
   def say_hi(self):
      print("Greetings, my masters call me {}.".format(self.name))
   
   @classmethod
   def how_many(cls):
      print("We have {:d} robots.".format(cls.population))
droid1 = Robot("R2-D2")
droid1.say_hi()
Robot.how_many()

droid2 = Robot("C-3PO")
droid2.say_hi()
Robot.how_many()

print("\nRobots can do some work here.\n")

print("Robots have finished their work. So let's destroy them.")
droid1.die()
droid2.die()

Robot.how_many()

Đầu ra

Chương trình trên tạo ra kết quả sau:

Giải trình

Hình minh họa này giúp chứng minh bản chất của các biến lớp và đối tượng.

  • "Dân số" thuộc lớp "Robot". Do đó, nó được gọi là một biến lớp hoặc một đối tượng.

  • Ở đây, chúng tôi đề cập đến biến lớp dân số là Robot.population chứ không phải là self.population.