Giải Mã Lớp Và đối Tượng Trong Python Cho Người Mới Bắt đầu - T3H

Tổng quan về lớp và đối tượng trong Python

Trong Python, một lớp được coi như một bản thiết kế hoặc một nguyên mẫu do người dùng xác định mà từ đó các đối tượng được tạo ra. Các lớp cung cấp một phương tiện để gói các dữ liệu và chức năng lại với nhau. Việc tạo một lớp mới sẽ tạo ra một kiểu đối tượng mới, cho phép các thực thể (instance) được tạo ra. Mỗi cá thể lớp có thể có các thuộc tính gắn liền với nó để duy trì trạng thái của nó. Các instance của lớp cũng có thể có các lớp để thay đổi trạng thái của nó.

Tạo ra một lớp sẽ tạo ra một cấu trúc dữ liệu do chính người dùng định nghĩa, chứa các dữ liệu và hàm thành viên của riêng nó, có thể được truy cập và sử dụng bằng cách tạo một instance của riêng nó. 

Có thể hiểu một cách đơn giản, có thể ví việc tạo các lớp như việc bạn thiết kế một ngôi nhà, lớp chính là bản thiết kế cho ngôi nhà đó. Trên bản thiết kế này sẽ mô tả chi tiết các thành phần cần thiết cho một ngôi nhà. Dựa trên bản thiết kế này, ta có thể xây dựng nhiều ngôi nhà khác nhau (các đối tượng khác nhau) với các thuộc tính khác nhau.

>>> Xem thêm: Khóa học lập trình Python

 

Lớp trong Python

Lớp trong Python được tạo bằng từ khóa class, ví dụ:

class ClassName:

    # Statement-1

    .

    .

    .

    # Statement-N

Thuộc tính là các biến thuộc về lớp, các thuộc tính trong lớp luôn công khai và được truy cập bằng toán tử dấu chấm (.)

Đối tượng của lớp

Một đối tượng là một thực thể (instance) của lớp. Như đã nói ở phần trên, một lớp sẽ là một bản kế hoạch trong khi một thể hiện là bản sao của lớp với các giá trị thực tế.  Một đối tượng bao gồm:

- State (Trạng thái): Được biểu diễn bởi các thuộc tính của một đối tượng. Nó cũng phản ánh thuộc tính của đối tượng.

- Behavior (Hành vi): Được biểu diễn bằng các phương pháp (methods) của một đối tượng. Nó cũng phản ánh phản ứng của một đối tượng với các đối tượng khác.

- Identity: Đặt tên cho đối tượng và cho phép đối tượng này tương tác với đối tượng khác. 

Ví dụ về đối tượng của lớp

Các thành phần của đối tượng trong Python

Khai báo các đối tượng (Khởi tạo một lớp)

Khi đối tượng của một lớp được tạo, lớp đó cũng sẽ được khởi tạo. Các Instance sẽ cùng chia sẻ các trạng thái và hành vi của lớp đó. Nhưng giá trị của những thuộc tính này ví dụ như trạng thái là riêng biệt, độc nhất cho mỗi đối tượng. Một lớp đơn lẻ có thể có nhiều thực thể khác nhau (instance).

Khai báo đối tượng trong Python

Khai báo đối tượng trong Python

Ví dụ:

# Python program to

# demonstrate instantiating

# a class

class Dog:

    # A simple class

    # attribute

    attr1 = "mamal"

    attr2 = "dog"

    # A sample method  

    def fun(self): 

        print("I'm a", self.attr1)

        print("I'm a", self.attr2)

# Driver code

# Object instantiation

Rodger = Dog()

# Accessing class attributes

# and method through objects

print(Rodger.attr1)

Rodger.fun()

>>>Xem thêm: Return trong Python: Cách sử dụng và phương pháp sử dụng nhanh

Phương thức __init__

Phương thức __init__  cũng tương tự như phương thức hàm constructor trong C++ và Java. Constructors được sử dụng để khởi tạo  các thể hiện của lớp. Như các phương thức khác, một constructor cũng bao gồm một tập hợp các câu lệnh (các lệnh) được thực thi tại thời điểm tạo đối tượng (object). __init__ sẽ chạy ngay sau khi đối tượng của một lớp được tạo. Phương thức này vô cùng hữu ích để thực hiện bất kỳ khởi tạo nào mà bạn muốn với đối tượng của bạn. 

Lưu ý: Các __init__ được gọi tự động mỗi khi lớp đang được sử dụng để tạo ra một đối tượng mới.

# A Sample class with init method 

class Person:

    # init method or constructor  

    def __init__(self, name): 

        self.name = name 

    # Sample Method  

    def say_hi(self): 

        print('Hello, my name is', self.name) 

p = Person('Nikhil') 

p.say_hi() 

Output

Hello, my name is Nikhil

Các biến Lớp và Thực thể (Instance)

Các biến Instance chứa dữ liệu độc nhất cho mỗi thực thể và các biến lớp (class) dành cho các thuộc tính và phương thức được chia sẻ bởi tất cả các cá thể của lớp.  Biến instance là các biến mà giá trị được định danh bên trong một hàm constructor hoặc phương pháp self trong khi biến class  là những biến mà giá trị được gán trong lớp.

Xóa thuộc tính và đối tượng trong Python

Để xóa thuộc tính và đối tượng, bạn có thể sử dụng từ khóa del. Sau khi bị xóa, đối tượng vẫn còn tồn tại trên bộ nhớ, nhưng sau đó các phương thức destruction sẽ loại bỏ hoàn toàn các dữ liệu này ra khỏi bộ nhớ.

Kết luận: Bài viết trên đã cung cấp cho bạn một số kiến thức cơ bản về Class (Lớp) và Object (Đối tượng) trong Python. Hy vọng bạn có thể áp dụng kiến thức này trong việc lập trình của mình một cách hiệu quả.

Từ khóa » Viết Class Trong Python