Hàm tạo là phương thức đầu tiên được gọi khi tạo đối tượng [một khái niệm từ Lập trình hướng đối tượng]. Nó luôn là một phần của một lớp [các phương thức đối tượng được định nghĩa trong một lớp]
Hàm tạo luôn được gọi khi tạo một đối tượng mới. Nó có thể được sử dụng để khởi tạo các biến lớp và các thói quen khởi động
khóa học liên quan. Khóa học & bài tập lập trình Python
Giới thiệu
Hàm tạo là một phương thức bên trong lớp, được gọi nếu một đối tượng mới được tạo
Hàm tạo cho phép bạn đặt biến cho đối tượng ngay lập tức
user[1] = User['Alice','Coder','Windows']
user[2] = User['Bea','Marketeer','Mac']
Thay vì phải đặt từng biến theo cách thủ công như
user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
Mỗi lớp có thể chứa một và chỉ một hàm tạo
Hàm tạo luôn có tên là
user[1].name = 'Alice'9
user[1].job = 'Coder'
user[1]....
# etc
Hình ảnh bên dưới hiển thị hai lớp, mỗi lớp có một hàm tạo [được đánh dấu]
Có một vài quy tắc cho các nhà xây dựng
- Một hàm tạo phải được xác định với tên
class Example:
0
def __init__[self]:
pass - Một hàm tạo phải được xác định bằng từ khóa self trong các tham số của nó
- Hàm tạo không thể trả về bất kỳ giá trị nào, ngoại trừ Không có
- Chỉ có một hàm tạo được phép cho một lớp
- Chỉ dành cho khởi tạo đối tượng
Thí dụ
Cú pháp của hàm tạo là
user[1].name = 'Alice'9. Bên trong một lớp nó trông như thế này
user[1].job = 'Coder'
user[1]....
# etc
class Example:
def __init__[self]:
pass
Sau đó, nếu bạn tạo một ví dụ, hàm tạo sẽ được gọi. Nếu bạn tạo hai đối tượng, hàm tạo sẽ được gọi hai lần
obj1 = Example[] # constructor called
obj2 = Example[] # constructor called
Ý tưởng của hàm tạo là đặt các biến đối tượng
Bạn có thể có một lớp học như thế này
>>> class Computer:
.. def __init__[self, name, speed]:
.. self.name = name
.. self.speed = speed
...
Sau đó tạo một vài đối tượng
Mỗi đối tượng có các giá trị duy nhất, giống như thế giới thực
Các giá trị đó được đặt khi tạo đối tượng, đây là nơi hàm tạo được gọi trong nền
________số 8_______Nếu bạn là người mới bắt đầu học Python, thì tôi thực sự khuyên bạn nên đọc cuốn sách này
ví dụ trực quan
Trong ví dụ bên dưới, chúng ta tạo một lớp C với hàm tạo và phương thức xem. Trong Python, hàm tạo được đặt tên là init
class C:
def __init__[self]:
print['Constructor called.']
def see[self]:
print['C']
Hàm tạo [init] chỉ là một phương thức khác. Điều đặc biệt về nó là nó được gọi mỗi khi một đối tượng mới được tạo
Chúng tôi tạo một đối tượng C với dòng
obj = C[]
Khi thực hiện, nó sẽ xuất cả hai dòng văn bản. Tại sao?
class C:
def __init__[self]:
print['Constructor called.']
def see[self]:
print['C']
obj = C[]
obj.see[]
Điều này sẽ xuất ra
Constructor called.
C
Xem cách đầu ra của hàm tạo được hiển thị trước
Hàm tạo được gọi ngay lập tức khi tạo đối tượng, điều này đặc biệt rõ ràng trong trình bao Python
Nếu đây là lớp học của bạn
user[1].name = 'Alice'0
user[1].job = 'Coder'
user[1]....
# etc
Sau đó, nó gọi hàm tạo cho từng đối tượng được tạo
user[1].name = 'Alice'1
user[1].job = 'Coder'
user[1]....
# etc
Ví dụ thế giới thực
Trong một kịch bản trong thế giới thực, hàm tạo thực hiện những điều hữu ích cho đối tượng mới được tạo. Ví dụ, một constructor cho Car. Nó đặt giá trị mặc định của các biến như số bánh xe, số cửa
Nếu bạn định nghĩa một lớp Car, lớp này đặt một số biến đối tượng [lưu ý self được sử dụng để chỉ các giá trị của đối tượng], nó sẽ được đặt khi tạo
user[1].name = 'Alice'2
user[1].job = 'Coder'
user[1]....
# etc
Sau đó, nếu bạn tạo một số đối tượng và yêu cầu các biến đối tượng được hiển thị, chúng đã được đặt sẵn [vì chúng tôi đặt chúng trong hàm tạo