Lập trình hướng đối tượng
Các biến lớp và ví dụ trong Python
Đã sử dụng các biến khai báo trong một lớp. Có hai loại chính: các biến lớp, có cùng giá trị trên tất cả các phiên bản lớp [nghĩa là các biến tĩnh] và các biến thể hiện, có các giá trị khác nhau cho từng thể hiện đối tượng.
Cú pháp
class ClassName[object]:
class_variable = value #value shared across all class instances
def __init__[instance_variable_value]:
self.instance_variable = instance_variable_value #value specific to instance. Instance variables are usually initialized in methods
#accessing instance variable
class_instance = ClassName[]
class_instance.instance_variable
#accessing class variable
ClassName.class_variable
class_instance.class_variable
NotesNotes
Trong Python, sử dụng dấu gạch dưới hàng đầu và dấu vết là quy ước đặt tên để chỉ ra một biến có nghĩa là riêng tư.
Thí dụ
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
Giới thiệu
Lập trình hướng đối tượng cho phép các biến được sử dụng ở cấp độ lớp hoặc cấp độ thể hiện. Các biến về cơ bản là các ký hiệu đứng cho một giá trị mà bạn sử dụng trong một chương trình.Variables are essentially symbols that stand in for a value you’re using in a program.
Ở cấp độ lớp, các biến được gọi là các biến lớp, trong khi các biến ở cấp độ được gọi là biến thể hiện.class variables, whereas variables at the instance level are called instance variables.
Khi chúng tôi mong đợi các biến sẽ nhất quán trong các trường hợp hoặc khi chúng tôi muốn khởi tạo một biến, chúng tôi có thể xác định biến đó ở cấp lớp. Khi chúng tôi dự đoán các biến sẽ thay đổi đáng kể qua các trường hợp, chúng tôi có thể xác định chúng ở cấp độ thể hiện.
Một trong những nguyên tắc phát triển phần mềm là nguyên tắc khô khan, viết tắt của don lặp lại chính mình. Nguyên tắc này hướng đến việc hạn chế sự lặp lại trong mã và lập trình hướng đối tượng tuân thủ nguyên tắc khô vì nó làm giảm sự dư thừa.DRY principle, which stands for don’t repeat yourself. This principle is geared towards limiting repetition within code, and object-oriented programming adheres to the DRY principle as it reduces redundancy.
Hướng dẫn này sẽ chứng minh việc sử dụng cả hai biến lớp và thể hiện trong lập trình hướng đối tượng trong Python.
Điều kiện tiên quyết
Bạn nên cài đặt Python 3 và môi trường lập trình được thiết lập trên máy tính hoặc máy chủ của bạn. Nếu bạn không có môi trường lập trình được thiết lập, bạn có thể tham khảo hướng dẫn cài đặt và thiết lập cho môi trường lập trình cục bộ hoặc cho môi trường lập trình trên máy chủ của bạn phù hợp với hệ điều hành của bạn [Ubuntu, Centos, Debian, v.v.]
Biến lớp
Các biến lớp được xác định trong xây dựng lớp. Bởi vì chúng thuộc sở hữu của chính lớp, các biến lớp được chia sẻ bởi tất cả các trường hợp của lớp. Do đó, chúng thường sẽ có cùng giá trị cho mọi trường hợp trừ khi bạn đang sử dụng biến lớp để khởi tạo một biến.
Biến lớp trong Python với ví dụ là gì?
Các biến lớp trong kế thừa Chúng tôi có thể sử dụng tên lớp hoặc lớp con để thay đổi giá trị của biến lớp của lớp cha trong lớp con. Thí dụ. Khóa học lớp: # Lớp biến khóa học = "Python" Lớp học sinh [khóa học]: def __init __ [tự, tên]: tự. To follow along with the example code in this tutorial, open a Python interactive shell on your local system by running the
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
6 command. Then you can copy, paste, or edit the examples by adding them after the class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
7 prompt.Các biến của Python là gì?
class Shark:
animal_type = "fish"
Biến Python là một tên biểu tượng là một tham chiếu hoặc con trỏ đến một đối tượng. Khi một đối tượng được gán cho một biến, bạn có thể tham khảo đối tượng bằng tên đó. Nhưng chính dữ liệu vẫn còn trong đối tượng.
Giới thiệu
shark.py
class Shark:
animal_type = "fish"
new_shark = Shark[]
print[new_shark.animal_type]
Lập trình hướng đối tượng cho phép các biến được sử dụng ở cấp độ lớp hoặc cấp độ thể hiện. Các biến về cơ bản là các ký hiệu đứng cho một giá trị mà bạn sử dụng trong một chương trình.
- python shark.py
Output
fish
Ở cấp độ lớp, các biến được gọi là các biến lớp, trong khi các biến ở cấp độ được gọi là biến thể hiện.
Khi chúng tôi mong đợi các biến sẽ nhất quán trong các trường hợp hoặc khi chúng tôi muốn khởi tạo một biến, chúng tôi có thể xác định biến đó ở cấp lớp. Khi chúng tôi dự đoán các biến sẽ thay đổi đáng kể qua các trường hợp, chúng tôi có thể xác định chúng ở cấp độ thể hiện.
shark.py
class Shark:
animal_type = "fish"
location = "ocean"
followers = 5
new_shark = Shark[]
print[new_shark.animal_type]
print[new_shark.location]
print[new_shark.followers]
Một trong những nguyên tắc phát triển phần mềm là nguyên tắc khô khan, viết tắt của don lặp lại chính mình. Nguyên tắc này hướng đến việc hạn chế sự lặp lại trong mã và lập trình hướng đối tượng tuân thủ nguyên tắc khô vì nó làm giảm sự dư thừa.
Output
fish
ocean
5
Hướng dẫn này sẽ chứng minh việc sử dụng cả hai biến lớp và thể hiện trong lập trình hướng đối tượng trong Python.
Điều kiện tiên quyết
Bạn nên cài đặt Python 3 và môi trường lập trình được thiết lập trên máy tính hoặc máy chủ của bạn. Nếu bạn không có môi trường lập trình được thiết lập, bạn có thể tham khảo hướng dẫn cài đặt và thiết lập cho môi trường lập trình cục bộ hoặc cho môi trường lập trình trên máy chủ của bạn phù hợp với hệ điều hành của bạn [Ubuntu, Centos, Debian, v.v.]
Biến lớp
Được xác định bên ngoài tất cả các phương thức, các biến lớp, theo quy ước, thường được đặt ngay bên dưới tiêu đề lớp và trước phương thức cấu trúc và các phương thức khác.
Thông tin: Để làm theo cùng với mã ví dụ trong hướng dẫn này, hãy mở một vỏ tương tác Python trên hệ thống cục bộ của bạn bằng cách chạy lệnh
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
6. Sau đó, bạn có thể sao chép, dán hoặc chỉnh sửa các ví dụ bằng cách thêm chúng sau lời nhắc class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
7.class Shark:
def __init__[self, name, age]:
self.name = name
self.age = age
Một biến lớp một mình trông giống như sau:
class Shark:
def __init__[self, name, age]:
self.name = name
self.age = age
new_shark = Shark["Sammy", 5]
Cũng như các biến lớp, chúng tôi có thể gọi tương tự để in các biến thể hiện:
shark.py
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
0Khi chúng tôi chạy chương trình ở trên với
class Shark:
animal_type = "fish"
2, chúng tôi sẽ nhận được đầu ra sau:class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
1Đầu ra chúng tôi nhận được được tạo thành từ các giá trị của các biến mà chúng tôi đã khởi tạo cho thể hiện đối tượng của
class Shark:
animal_type = "fish"
1.Hãy để tạo ra một đối tượng khác của lớp
class Shark:
animal_type = "fish"
0 được gọi là class Shark:
animal_type = "fish"
new_shark = Shark[]
print[new_shark.animal_type]
1:shark.py
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
2class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
3Đối tượng
class Shark:
animal_type = "fish"
new_shark = Shark[]
print[new_shark.animal_type]
1, như đối tượng class Shark:
animal_type = "fish"
1 chuyển các tham số cụ thể cho trường hợp đó của lớp class Shark:
animal_type = "fish"
0 để gán các giá trị cho các biến thể hiện.Các biến thể hiện, được sở hữu bởi các đối tượng của lớp, cho phép mỗi đối tượng hoặc thể hiện có các giá trị khác nhau được gán cho các biến đó.
Làm việc với các biến lớp và trường hợp cùng nhau
Các biến lớp và biến thể hiện thường sẽ được sử dụng cùng một lúc, vì vậy, hãy để xem xét một ví dụ về điều này bằng cách sử dụng lớp
class Shark:
animal_type = "fish"
0 mà chúng tôi đã tạo. Các ý kiến trong chương trình phác thảo từng bước của quy trình.shark.py
class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
4Khi chúng tôi chạy chương trình với
class Shark:
animal_type = "fish"
2, chúng tôi sẽ nhận được đầu ra sau:class Car[object]:
wheels = 4
def __init__[self, make]:
self.make = make
newCar = Car["Honda"]
print ["My new car is a {}".format[newCar.make]]
print ["My car, like all cars, has {%d} wheels".format[Car.wheels]]
5Ở đây, chúng tôi đã sử dụng cả hai biến lớp và phiên bản trong hai đối tượng của lớp
class Shark:
animal_type = "fish"
0, class Shark:
animal_type = "fish"
new_shark = Shark[]
print[new_shark.animal_type]
8 và class Shark:
animal_type = "fish"
new_shark = Shark[]
print[new_shark.animal_type]
1.Sự kết luận
Trong lập trình hướng đối tượng, các biến ở cấp lớp được gọi là các biến lớp, trong khi các biến ở cấp đối tượng được gọi là biến thể hiện.
Sự khác biệt này cho phép chúng tôi sử dụng các biến lớp để khởi tạo các đối tượng có giá trị cụ thể được gán cho các biến và sử dụng các biến khác nhau cho mỗi đối tượng với các biến thể hiện.
Sử dụng các biến dành riêng cho lớp và thể hiện có thể đảm bảo rằng mã của chúng tôi tuân thủ nguyên tắc khô để giảm sự lặp lại trong mã.