31/08/2018, 17:37
[Python cơ bản thường dùng trong công việc] Phần 4 : Class
Lập trình hướng đối tượng là một khái niệm không thể thiếu trong hầu hết các ngôn ngữ thông dụng hiện nay. Python cũng hỗ trợ lập trình hướng đối tượng với các khái niệm Class, Object, Override… 4.1. Khai báo một Class Khai báo một class theo cú pháp sau: ...
Lập trình hướng đối tượng là một khái niệm không thể thiếu trong hầu hết các ngôn ngữ thông dụng hiện nay. Python cũng hỗ trợ lập trình hướng đối tượng với các khái niệm Class, Object, Override…
4.1. Khai báo một Class
Khai báo một class theo cú pháp sau:
1 2 3 4 5 6 7 8 9 10 |
class myclass([parentclass]): assignments def __init__(self): statements def method(): statements def method2(): statements |
Ví dụ một class:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
class animal(): name = ' age = 0 def __init__(self, name = ', age = 0): self.name = name self.age = age def show(self): print 'My name is ', self.name def run(self): print 'Animal is running...' def go(self): print 'Animal is going...' class dog(animal): def run(self): print 'Dog is running...' myanimal = animal() myanimal.show() myanimal.run() myanimal.go() mydog = dog('Lucy') mydog.show() mydog.run() mydog.go() |
Sau khi thực thi sẽ cho ra kết quả:
1 2 3 4 5 6 7 8 |
My Name is Animal is running... Animal is going... My Name is Lucy Dog is running... Animal is going... |
Trong ví dụ trên thì:
- animal và dog là 2 class. Trong đó class dog kế thừa từ class cha là class animal nên sẽ có các phương thức của class animal.
- name và age là thuộc tính (Attribute) của class.
- Phương thức __init__(self) là hàm tạo của class. Hàm này sẽ được gọi mỗi khi có một object mới được tạo (từ một class), gọi là quá trình tạo instance.
- show() , run() và go() là 2 phương thức của 2 class. Khi khai báo phương thức có kèm tham số self dùng để truy cập ngược lại object đang gọi. Lúc gọi phương thức thì không cần truyền tham số này.
- Phương thức run() của class dog gọi là override của phương thức run() của class animal .
<< Phần 3: phân chia module
Phần 5: thao tác trên tập tin và thư mục >>