Lập trình hướng đối tượng cho phép các nhà phát triển sử dụng các biến ở cấp độ lớp hoặc cấp độ thể hiện. Biến là các ký hiệu cần thiết đại diện cho một giá trị mà chúng ta đang sử dụng trong một chương trình
Các biến ở cấp độ lớp được gọi là biến lớp, trong khi các biến ở cấp độ thể hiện được gọi là biến thể hiện
Bất cứ khi nào chúng ta mong đợi rằng các biến sắp nhất quán giữa các phiên bản hoặc bất cứ khi nào chúng ta phải khởi tạo một biến, thì biến đó có thể được định nghĩa ở cấp độ lớp. Bất cứ khi nào chúng ta mong đợi các biến sẽ thay đổi đáng kể giữa các phiên bản, thì biến đó có thể được xác định ở cấp phiên bản
Trong số các nguyên tắc khác nhau của phát triển phần mềm là nguyên tắc DRY, viết tắt của Don't Repeat Yourself. Nguyên tắc này tập trung vào sao chép hạn chế trong mã và lập trình hướng đối tượng tuân theo nguyên tắc DRY vì nó giảm sự dư thừa
Trong bài hướng dẫn sau chúng ta sẽ tìm hiểu về lớp cũng như biến thể hiện trong Lập trình hướng đối tượng trên ngôn ngữ lập trình Python. Chúng tôi cũng sẽ thảo luận về sự khác biệt cơ bản giữa hai biến này
Vì vậy, chúng ta hãy bắt đầu
Hiểu các biến lớp
Các biến lớp được khai báo bên trong việc xây dựng lớp. Vì các biến này được sở hữu bởi chính lớp đó nên chúng được chia sẻ bởi tất cả các thể hiện của lớp. Do đó, chúng thường sẽ có giá trị tương đương cho mỗi trường hợp trừ khi chúng ta đang sử dụng biến lớp để khởi tạo một biến
Các biến lớp được định nghĩa bên ngoài tất cả các phương thức theo quy ước, được đặt một cách kinh điển ngay dưới lớp tiêu đề và trước phương thức của hàm tạo và các hàm khác
Chúng ta hãy xem xét cú pháp sau của một biến lớp
cú pháp
Biến "var" được gán giá trị "xyz" trong đoạn mã trên
Chúng ta có thể định nghĩa một đối tượng của lớp Class_name [chúng ta sẽ gọi nó là "myObj"] và in biến đó với sự trợ giúp của ký hiệu dấu chấm
cú pháp
Chúng ta hãy xem xét ví dụ sau dựa trên khái niệm Biến lớp
Thí dụ
đầu ra
Giải trình
Trong đoạn mã trên, chúng tôi đã định nghĩa một lớp là "Động vật" và khai báo biến lớp. Sau đó, chúng tôi đã khởi tạo lớp với đối tượng my_Animal và in giá trị cuối cùng cho người dùng. Kết quả là chương trình trả về giá trị của biến lớp
Hãy để chúng tôi thử thêm nhiều biến lớp vào lớp và in các giá trị của chúng
Thí dụ
đầu ra
Name of the Animal: Lion This Animal is found in: Jungle This Animal is a: Carnivore Population of this Animal: 20000 approx.
Giải trình
Trong đoạn mã trên, chúng ta đã định nghĩa một lớp và khai báo một số biến cho lớp. Sau đó, chúng tôi đã khởi tạo lớp và in đầu ra cần thiết cho người dùng. Chúng ta có thể quan sát thấy rằng các biến lớp này có thể chứa bất kỳ loại dữ liệu nào có sẵn cho chúng ta trong Python. Như trong chương trình trên, chúng ta có các chuỗi và một số nguyên
Hơn nữa, chúng ta cũng có thể quan sát thấy rằng đối tượng của myAnimal có thể truy cập được đối với tất cả các biến trong lớp và in chúng ra khi chúng ta thực hiện chương trình
Các biến lớp cho phép chúng ta định nghĩa các biến khi xây dựng lớp. Các biến này và các giá trị tương ứng của chúng sau đó có thể truy cập được đối với mọi đối tượng của lớp
Hiểu các biến thể hiện
Các biến được sở hữu bởi các thể hiện của lớp được gọi là biến thể hiện. Câu lệnh này ngụ ý rằng đối với mọi thể hiện hoặc đối tượng của một lớp, các biến thể hiện không giống nhau.
Khác với các biến lớp, các biến thể hiện được định nghĩa trong các hàm
Cú pháp sử dụng các biến thể hiện được hiển thị bên dưới
cú pháp
Trong đoạn mã trên, var1 và var2 là các biến thể hiện
Chúng ta hãy xem xét một ví dụ dựa trên Biến thể hiện
Thí dụ
đầu ra
Roll Number of the Student: 102 Name of the Student: Sam Age of the Student: 13
Giải trình
Trong đoạn mã trên, chúng tôi đã định nghĩa một lớp Sinh viên và định nghĩa một số biến như id, tên và tuổi được truyền dưới dạng đối số trong phương thức khởi tạo. Sau đó, chúng tôi đã khởi tạo lớp và in các giá trị của các biến thể hiện cho người dùng
Kết quả là, chúng ta sẽ thu được một giá trị của các biến được khởi tạo cho Instance của dBase
Các biến thể hiện, thuộc sở hữu của các đối tượng lớp, cho phép các nhà phát triển lưu trữ các giá trị khác nhau trong mỗi thể hiện được gán cho các biến đó
Hiểu sự khác biệt giữa Biến lớp và Biến thể hiện
Vì chúng ta đã hiểu các khái niệm cơ bản của cả hai biến và cách các biến này được sử dụng trong lớp, chúng ta hãy hiểu biến lớp khác với biến thể hiện như thế nào. Sự khác biệt chính giữa hai biến này được mô tả ở định dạng bảng dưới đây