BASIC TO ADVANCE

Bài 1: Class và cách khai báo class trong Python

Mở đầu cho series học lập trình Python nâng cao chúng ta sẽ tìm hiểu về thực hành hướng đối tượng trong Python, ở series này mình sẽ không nhắc nhiều về lý thuyết hướng đối tượng nữa mà nếu bạn nào chưa biết thì có thể tham khảo ở đây.

1, Khai báo Class trong Python.

Như các bạn đã được tìm hiểu thì một đối tượng có thể có một hoặc nhiều class và trong mỗi class thì lại chứa một hoặc nhiều các thuộc tính và các phương thức... Để khai báo một class trong Python thì mọi người sử dụng cú pháp sau:

class className:
    # code

Trong đó, className là tên của class mà bạn muốn khai báo.

VD: Mình sẽ khai báo class Person.

class Person:
    # code

2, Khai báo thuộc tính trong Class.

Như ở trên mình có nói thì một class có thể chứa một hoặc rất nhiều các thuộc tính bên trong. Thuộc tính trong class, cũng tương tự như biến ở trong lập trình hướng thủ tục. Để khai báo một thuộc tính trong class thì mọi người chỉ cần khai báo như khai báo một biến bình thường và lưu ý là nó phải nằm trong phạm vi của class.

VD: Mình sẽ khai báo thêm một số thuộc tính cho class Person ở trên.

class Person:
    name = "Vũ Thanh Tài";
    age = 22;
    male = True

3, Khai báo phương thức trong Class.

Phương thức ở trong hướng đối tượng cũng tương tự như hàm ở trong lập trình hướng thủ tục và một class thì có thể không có hoặc có nhiều phương thức. Để khai báo một phương thức trong Python mọi người chỉ cần khai báo như khai báo một hàm bình thường, và lưu ý là phải khai báo trong phạm vi của class.

VD: Mình sẽ khai báo thêm một số phương thức cho class Person ở trên.

class Person:
    # thuộc tính
    name = "Vũ Thanh Tài";
    age = 22;
    male = True
    # phương thức
    def setName(self, name):
        self.name = name
    
    def getName(self):
        return self.name
    
    def setAge(self, age):
        self.age = age
    
    def getAge(self):
        return self.age
    
    def setMale(self, male):
        self.male = male
    
    def getMale(self):
        return self.male

Chú ý:Ở trong ví dụ trên mình có sử dụng từ khóa self. Thì từ khóa self ở đây dùng để thể hiện lại chính class đang chứa nó, và dựa vào nó thì chúng ta có thể truy cập vào các phần tử đang có trong class hiện tại.

4, Khởi tạo class.

Sau khi đã khai báo được class trong Python rồi, thì để khởi tạo nó mọi người sử dụng cú pháp sau:

variableName = className()

Trong đó:

  • variableName là biến mà bạn muốn thể hiện lại đối tượng.
  • className là class mà bạn muốn khởi tạo.

VD: Mình sẽ khởi tạo class person ở trên.

person = Person()

 Sau khi đã khởi tạo được class rồi thì biến được instane lại class đó sẽ có thể truy cập được các phần tử được cho phép trong class đó. Bằng cách sử dụng dấu . theo cú pháp sau:

# truy cap den thuoc tinh
object.propertyName

#truy cap den phuong thuc
object.methodName()

Trong đó:

  • object là biến thể hiện lại object.
  • propertyName là tên thuộc tính mà bạn muốn truy xuất.
  • methodName là tên phương thức mà bạn muốn truy xuất.

VD: Mình sẽ truy xuất đến các thuộc tính và phương thức trong class Person.

# instance
person = Person()
# properties
print(person.name) # Vũ Thanh Tài
print(person.age) # 22
print(person.male) # True
# methods
person.setName("Nguyễn Thị HH")
print(person.getName()) # Nguyễn Thị HH

person.setAge(22)
print(person.getAge()) # 22 

person.setMale(False)
print(person.getMale()) # False

 5, Lời kết.

Bài này chúng ta tạm kết thúc ở đây thôi, các bạn nhớ ôn thật kỹ phần này nhé, sau này sẽ dùng nhiều đấy!

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

10 Comments

Bài tập phần này đâu, share cho mình với.

Bạn dạy rất dễ hiểu cảm ơn bạn nhiều

Hưng

2 năm trước

class có tác dụng j z ạ

lmq

2 năm trước

def setName(self, name): self.name = name

def getName(self):

return self.name

anh ơi tại  sao phải dùng setName trc rồi mới getName ạ ? mình ko dùng return ở phần setName được sao ạ ? Em cảm ơn anh nhiề .

Nguyên Xuân Lộc

1 năm trước

get trc cũng đc mà bạn ơi

Meo

7 tháng trước

Có tài liệu hướng dẫn viết cho autoCAD bằng Python ko bạn ơi?

Hiển

9 tháng trước

bạn ơi cho mình hỏi có hướng dẫn bài viết nào cho revit bằng python ko bạn?

lamhuynh

9 tháng trước

cho mình hỏi là có bài viết nào cho lập trình trong revit bằng python ko bạn ?

lamhuynh

9 tháng trước

mình tìm được bài viết cho Revit theo link https://readthedocs.org/projects/pyrevit/downloads/pdf/latest/

các bạn cho mình xin thêm góp ý nhé

lamhuynh

9 tháng trước

Mình thấy cuốn này dài hơn nè :D
https://buildmedia.readthedocs.org/media/pdf/pyrevit/develop/pyrevit.pdf

Vũ Thanh Tài

9 tháng trước

Bình luận

Captcha