Khái Niệm Lớp (Class) Và Đối Tượng (Object) Trong Python

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 2 tháng 2, 2025

Lập trình hướng đối tượng (OOP) là một trong những mô hình lập trình quan trọng trong Python. Hai khái niệm cốt lõi trong OOP là lớp (class)đối tượng (object).

1. Lớp (Class) Là Gì?

Lớp là một khuôn mẫu để tạo ra các đối tượng. Nó chứa các thuộc tính (biến)phương thức (hàm) để thao tác dữ liệu.

Cú pháp để định nghĩa một lớp trong Python:

class TenLop:
    # Phương thức khởi tạo
    def __init__(self, tham_so1, tham_so2):
        self.thuoc_tinh1 = tham_so1
        self.thuoc_tinh2 = tham_so2
    
    # Phương thức
    def hien_thi(self):
        print(f"Thuộc tính 1: {self.thuoc_tinh1}, Thuộc tính 2: {self.thuoc_tinh2}")

2. Đối Tượng (Object) Là Gì?

Đối tượng là thể hiện cụ thể của một lớp. Khi tạo một đối tượng từ lớp, nó sẽ có dữ liệu riêng nhưng vẫn tuân theo khuôn mẫu của lớp đó.

Ví dụ về việc tạo đối tượng từ một lớp:

# Định nghĩa lớp
class Nguoi:
    def __init__(self, ten, tuoi):
        self.ten = ten
        self.tuoi = tuoi
    
    def gioi_thieu(self):
        print(f"Tôi tên là {self.ten}, năm nay {self.tuoi} tuổi.")

# Tạo đối tượng từ lớp
nguoi1 = Nguoi("An", 25)
nguoi2 = Nguoi("Bình", 30)

# Gọi phương thức trên đối tượng
nguoi1.gioi_thieu()  
nguoi2.gioi_thieu()

Kết quả:

Tôi tên là An, năm nay 25 tuổi.  
Tôi tên là Bình, năm nay 30 tuổi.  

Ở đây, nguoi1nguoi2 là hai đối tượng của lớp Nguoi, mỗi đối tượng có giá trị riêng cho tentuoi.

3. Các Thành Phần Chính Trong Class

a. Thuộc tính (Attributes)

Thuộc tính là dữ liệu của đối tượng. Trong Python, chúng được khai báo trong phương thức __init__ và sử dụng từ khóa self:

class HocSinh:
    def __init__(self, ten, lop):
        self.ten = ten    # Thuộc tính
        self.lop = lop    # Thuộc tính

Mỗi đối tượng sẽ có giá trị riêng cho các thuộc tính này.

b. Phương thức (Methods)

Phương thức là hàm bên trong lớp, dùng để thao tác với dữ liệu của đối tượng.

class HocSinh:
    def __init__(self, ten, lop):
        self.ten = ten
        self.lop = lop

    def hien_thi(self):
        print(f"Học sinh: {self.ten}, Lớp: {self.lop}")

# Tạo đối tượng
hs = HocSinh("Nam", "10A1")
hs.hien_thi()

Kết quả:

Học sinh: Nam, Lớp: 10A1

4. Ví Dụ Thực Tế: Lớp Car

class Car:
    def __init__(self, hang, mau, nam_san_xuat):
        self.hang = hang
        self.mau = mau
        self.nam_san_xuat = nam_san_xuat

    def mo_ta(self):
        print(f"Xe {self.hang} màu {self.mau}, sản xuất năm {self.nam_san_xuat}")

# Tạo đối tượng
car1 = Car("Toyota", "Đỏ", 2020)
car2 = Car("Honda", "Xanh", 2022)

# Gọi phương thức
car1.mo_ta()
car2.mo_ta()

Kết quả:

Xe Toyota màu Đỏ, sản xuất năm 2020  
Xe Honda màu Xanh, sản xuất năm 2022  

5. Tổng Kết

Khái niệm Giải thích
Lớp (Class) Là khuôn mẫu để tạo ra các đối tượng, chứa thuộc tính và phương thức.
Đối tượng (Object) Là một thực thể cụ thể được tạo từ lớp, có dữ liệu riêng.
Thuộc tính Là các biến bên trong đối tượng, lưu trữ dữ liệu.
Phương thức Là các hàm bên trong lớp, giúp thao tác với dữ liệu của đối tượng.

Lớp và đối tượng giúp tổ chức code tốt hơn, dễ bảo trì và mở rộng.

Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ