6 Lớp và đối tượng trong Python

Chuyên mục: Python
Cập nhật: 02/12/2024
6 Lớp và đối tượng trong Python

Lớp (class)

Trong Python, lớp (class) là một khuôn mẫu hoặc bản thiết kế để tạo ra các đối tượng. Lớp định nghĩa các thuộc tính (variables) và phương thức (functions) của đối tượng. Lớp giúp nhóm các thuộc tính và hành vi lại với nhau thành một đơn vị logic.

Đối tượng (object)

là một thể hiện cụ thể của lớp. Khi bạn tạo một đối tượng từ một lớp, đối tượng đó sẽ có các thuộc tính và phương thức mà lớp đó đã định nghĩa.

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model
    
    def display_info(self):
        print(f"Car brand: {self.brand}, model: {self.model}")

# Tạo đối tượng từ lớp Car
my_car = Car("Toyota", "Corolla")

# Gọi phương thức display_info của đối tượng
my_car.display_info()

Ở ví dụ trên:

  • Car là lớp.
  • my_car là đối tượng của lớp Car.

vd 2:

class Calculator:
	num = 100# biến lớp

	#hàm khởi tạo mặc định
	def __init__(self,a,b):
		self.firstNum = a
		self.lastNum = b
		print('Tự động hóa')

	def getData(self):
		print('Phương thức')

	def Summation(self):
		return self.firstNum + self.lastNum + Calculator.num

obj = Calculator(2, 3)
obj.getData()
print(obj.Summation())

obj1= Calculator(4, 5)
obj1.getData()
print(obj1.Summation())

Self là gì

Trong Python, self là một tham chiếu đến đối tượng hiện tại của lớp. Nó được sử dụng trong phương thức của lớp để truy cập các thuộc tính và phương thức của đối tượng đó.

Khi bạn tạo một phương thức trong lớp, self là tham số đầu tiên của phương thức, cho phép phương thức biết đối tượng nào đang gọi nó. Mặc dù bạn không cần phải truyền tham số self khi gọi phương thức, nhưng khi định nghĩa phương thức, bạn phải bao gồm self như một tham số trong hàm

Kế thừa trong đối tượng

khi 1 đối tượng kế thừa đối tượng khác, sẽ có thể sử dụng thuộc tính và các hàm trong đối tượng mà nó kế thừa. Ví dụ minh họa

from oopdemo import Calculator

class kethua(Calculator):
	num2=200

	def __init__(self):
		Calculator.__init__(self, 2, 10)

	def getComletedata(self):
		return self.num2 + self.num + self.Summation()

obj = kethua()

print(obj.getComletedata())