Một đối tượng là một thể hiện của một lớp. Một lớp giống như một bản thiết kế trong khi một thể hiện là một bản sao của lớp với các giá trị thực. Python là ngôn ngữ lập trình hướng đối tượng nhấn mạnh vào các đối tượng. e. nó chủ yếu nhấn mạnh chức năng. Các đối tượng về cơ bản là sự đóng gói các biến dữ liệu và các phương thức hoạt động trên dữ liệu đó thành một thực thể duy nhất
Ghi chú. Để biết thêm thông tin, Các lớp và đối tượng Python
Hiểu biết về đối tượng
Để hiểu rõ hơn về khái niệm đối tượng, hãy xem xét một ví dụ, nhiều bạn đã chơi CLASH OF CLANS, Vì vậy, hãy giả sử bố cục cơ sở là lớp chứa tất cả các tòa nhà, hệ thống phòng thủ, tài nguyên, v.v. Dựa trên những mô tả này, chúng tôi tạo ra một ngôi làng, ở đây ngôi làng là đối tượng
cú pháp.
obj = MyClass[] print[obj.x]
Xác định trường hợp thể hiện cấp phát bộ nhớ cần thiết để lưu trữ dữ liệu thực tế của các biến. Mỗi khi bạn tạo một đối tượng của lớp, bản sao của từng biến dữ liệu được xác định trong lớp đó được tạo. Nói một cách đơn giản, chúng ta có thể nói rằng mỗi đối tượng của một lớp có bản sao riêng của các thành viên dữ liệu được định nghĩa trong lớp đó.
Tạo một đối tượng
Python3
class
Cars:
R8 1000000
R8 1000001
R8 1000002
R8 1000003
R8 1000004
R8 1000005_______1_______3
R8 1000007
R8 1000008
R8 1000009
R8 1000005_______1_______3
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];2
R8 1000008
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];4
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];5
R8 1000008
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];7
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];8
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];9
10000000
10000001
10000002______21_______3
10000002______21_______5
đầu ra.
R8 100000
Hoạt động của Chương trình
Audi = Ô tô[].
- Một khối bộ nhớ được phân bổ trên heap. Kích thước của bộ nhớ được phân bổ được quyết định bởi các thuộc tính và phương thức có sẵn trong lớp đó [Ô tô]
- Sau khi khối bộ nhớ được cấp phát, phương thức đặc biệt __init__[] được gọi nội bộ. Dữ liệu ban đầu được lưu trữ vào các biến thông qua phương pháp này
- Vị trí của địa chỉ bộ nhớ được phân bổ của thể hiện được trả về đối tượng [Ô tô]
- Vị trí bộ nhớ được chuyển cho chính mình
Truy cập thành viên lớp bằng đối tượng
Biến và phương thức của một lớp có thể truy cập được bằng cách sử dụng các đối tượng hoặc thể hiện của lớp
cú pháp.
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];
ví dụ 1.
Python3
10000006
10000007
R8 1000005
class
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car0
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000005_______32_______3
R8 1000005_______32_______5
R8 1000008
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car7
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000005
Capital of India is: Delhi0
R8 1000005_______1_______1
R8 1000002
R8 1000003
Capital of India is: Delhi5
Capital of India is: Delhi6
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1____42_______8
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000003
R8 1000007
R8 1000008
del obj_name.property3
R8 1000005
R8 1000005_______55_______6
R8 1000005_______1_______1
del obj_name.property9
R8 1000003
del obj_name1
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000003
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];2
R8 1000008
del obj_name6
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000005_______63_______9
R8 1000005_______1_______1
class
2R8 1000003_______202_______4
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1____202_______6
R8 1000003
class
8R8 1000005
Cars:
0
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];5
R8 1000008
Cars:
3obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];8_______21_______1
Cars:
6_______203_______7
10000001
10000002_______1_______00
đầu ra.
1000000
ví dụ 2
Python3
class
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car0
R8 1000005
R8 1000005_______32_______3
R8 1000005_______32_______5
R8 1000008
R8 10000009
R8 1000005
R8 1000005
Capital of India is: Delhi0
R8 1000005_______1_______1
R8 1000002
R8 1000003
R8 10000017
R8 1000005
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 10000020
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000003_______1_______7
R8 1000008
R8 10000025
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car1
R8 1000003
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];2
R8 1000008
R8 10000030
R8 1000005
R8 10000032
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];5
R8 1000008
Cars:
3obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];8_______13_______9
10000000
10000001
R8 10000040_______1_______8
Cars:
3R8 10000043
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];9
R8 10000045
10000001
10000002_______1_______48
R8 10000049
10000001
10000002_______1_______48
R8 10000053
R8 10000054
10000002_______1_______48
R8 10000057
R8 10000058
10000002_______1_______48
R8 10000061
R8 10000062
10000002_______1_______48
R8 10000065
10000001
10000002_______1_______48
R8 10000069
R8 10000070
10000002_______1_______48
R8 10000057
R8 10000074
10000002_______1_______48
R8 10000077
R8 10000078
R8 10000079
R8 10000080
R8 10000081
10000002_______1_______48
R8 10000084
10000001
10000002______1_______87
R8 10000088
10000002_______1_______90
R8 10000088
10000002______1_______93
đầu ra.
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car
tự biến
SELF là một biến mặc định chứa địa chỉ bộ nhớ của đối tượng hiện tại. Các biến thể hiện và các phương thức có thể được gọi bằng biến self. Khi đối tượng của một lớp được tạo, vị trí bộ nhớ của đối tượng được chứa bởi tên đối tượng của nó. Vị trí bộ nhớ này được chuyển đến SELF trong nội bộ, vì SELF biết địa chỉ bộ nhớ của đối tượng, do đó, biến và phương thức của một đối tượng có thể truy cập được. Đối số đầu tiên cho bất kỳ phương thức đối tượng nào là SELF vì đối số đầu tiên luôn là tham chiếu đối tượng. Quá trình này diễn ra tự động dù bạn có gọi hay không
Thí dụ
Python3
class
R8 10000095
R8 1000000
R8 1000001
R8 10000098
R8 1000005_______13_______00
R8 1000008
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];02
R8 1000005_______13_______04
R8 1000008
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];06
R8 1000000
R8 1000001
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];09
R8 1000005_______21_______2
R8 10000048
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];13
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];14
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];15
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];14
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];17
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];14
obj_name.var_name Audi.model obj_name.method_name[] Audi.ShowModel[]; obj_name.method_name[parameter_list] Audi.ShowModel[100];19