Python là một ngôn ngữ lập trình hướng đối tượng (OOP). Gần như mọi thứ trong Python được coi là một object (đối tượng). Một object có các properties (thuộc tính) và methods (phương thức/hành vi) riêng.
Một class (lớp) là bản thiết kế (blueprint) của các object hoặc có thể gọi là object constructor để tạo object.
Một class có thể có nhiều object và giá trị thuộc tính cho các object khác nhau có thể khác nhau.
Ví dụ về thuộc tính và hành vi của object
Hãy lấy ví dụ xe hơi là một object. Thuộc tính của nó bao gồm: màu sắc, hãng sản xuất, năm sản xuất, giá, số km đã đi, v.v. Hành vi của xe hơi bao gồm các hàm nó có thể thực hiện: tăng tốc, giảm tốc, phanh, v.v. Object về cơ bản liên quan mọi thứ với đối tượng thực tế. Mọi thứ chúng ta thấy xung quanh trong đời thực đều có một số thuộc tính và một số hàm.
Ví dụ về class và object
Các object khác nhau thuộc cùng một class có thể có thuộc tính khác nhau. Ví dụ, Person (Người) có thể coi là một class có thuộc tính như tên, tuổi, giới tính, v.v. Mỗi cá nhân có thể coi là một object của class Person. Mỗi cá nhân sẽ có giá trị khác nhau cho các thuộc tính của class Person. Mỗi người có tên, tuổi, giới tính khác nhau.
Instantiation (Khởi tạo instance) là gì?
Một object còn được gọi là một instance (thể hiện) của một class. Do đó, quá trình tạo object của một class được gọi là instantiation.
Định nghĩa class trong Python
Giống như hàm trong Python được định nghĩa bằng từ khóa def. Từ khóa class dùng để định nghĩa class trong Python. Vì class là bản thiết kế của object, tất cả các thuộc tính và phương thức chung sẽ được khai báo và định nghĩa trong class. Các object khác nhau được tạo từ class có thể truy cập những thuộc tính và hàm đó. Các object khác nhau có thể giữ giá trị riêng cho các thuộc tính được định nghĩa trong class.
Tạo object trong Python
Tạo object của một class rất đơn giản. Phải biết tên class và object có thể tạo như sau:
Object_name = class_name()
Ví dụ
class Person:
name = ""
age = 0
city = ""
def display(self):
print("Name:", self.name)
print("Age:", self.age)
print("City:", self.city)
p1 = Person()
p1.name = "Rahul"
p1.age = 20
p1.city = "Kolkata"
p1.display()
print()
p2 = Person()
p2.name = "Karan"
p2.age = 22
p2.city = "Bangalore"
p2.display()
print()
p1.display()Trong đoạn mã trên, p1 = Person() là khởi tạo object. p1 là tên object. Chúng ta truy cập thuộc tính của class qua object p1 và gán giá trị khác nhau, sau đó gọi hàm display để hiển thị giá trị của object này. Sau đó, làm tương tự cho object thứ hai p2 và hiển thị thuộc tính của p2.
Ở cuối, gọi lại display() cho object p1 để chỉ rằng mỗi object giữ giá trị riêng của thuộc tính và chúng độc lập với các object khác.
Kết quả
Name: Rahul Age: 20 City: Kolkata Name: Karan Age: 22 City: Bangalore Name: Rahul Age: 20 City: Kolkata