[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…
Tìm việc làm python lương cao cho bạn
4.1. Khai báo một Class
Khai báo một class theo cú pháp sau:
class myclass([parentclass]): assignments def __init__(self): statements def method(): statements def method2(): statements
Ví dụ một class:
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ả:
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 đó classdog
kế thừa từ class cha là classanimal
nên sẽ có các phương thức của classanimal
.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 classdog
gọi làoverride
của phương thứcrun()
của classanimal
.
- V Vì sao lập trình viên BE cần phải biết Figma?
- N Nên học Front-end hay Back-end trước?
- H Học back end cần học những gì? Lộ trình cho người mới bắt đầu
- T Tầm quan trọng của Loose Coupling trong hệ thống Backend
- L Lập trình Web nên học ngôn ngữ nào là phù hợp?
- N Nên học Front-end hay Back-end? Sự khác biệt là gì?
- P Phân biệt Front End và Back End, điểm khác nhau là gì?
- T Top 7 câu hỏi phỏng vấn Backend Developer
- L Lộ trình học MySQL từ A đến Z
- Q Quản lý realm database theo hướng micro-service trong iOS