Các hằng số lớp OOP trong PHP là gì?

Cac Hang So Lop Oop Trong Php La Gi



Một mô hình lập trình được gọi là lập trình hướng đối tượng (OOP) cho phép người dùng viết các chương trình mô-đun, có thể tái sử dụng. Không thay đổi sử dụng trong một lớp là một trong những tính năng của OOP. Hằng số lớp trong PHP là các giá trị không thể thay đổi sau khi chúng đã được chỉ định. Chúng là thành viên của lớp và không được liên kết với bất kỳ thể hiện lớp cụ thể nào.

Hằng số lớp trong PHP là gì?

Đầu tiên là, Hằng số lớp đề cập đến một giá trị không đổi trong suốt quá trình của tập lệnh. Trong OOP, nó cho phép lập trình viên xác định một giá trị có ý nghĩa cụ thể trong lớp và không thể được cập nhật bởi bất kỳ phương thức nào của lớp. Các hằng số từ khóa được sử dụng để xác định hằng số lớp , được cung cấp một giá trị không đổi trong suốt quá trình của tập lệnh.







MỘT hằng số lớp là một giá trị được xác định trong một lớp không đổi trong suốt quá trình thực hiện chương trình. thuật ngữ hằng số được sử dụng để xác định chúng, sau đó là tên và giá trị của hằng số đó. Sau khi được xác định, chúng không thể thay đổi trong thời gian chạy.



Chẳng hạn, chúng ta có thể định nghĩa một hằng số lớp cho giá trị của Pi theo cách sau:



lớp Toán {
hằng số PI = 3.14 ;
}


Ở đây, chúng tôi đã xác định các hằng số lớp PI của lớp Toán là 3,14. Vì một hằng số được gắn với lớp và không phải là một thể hiện của một lớp, nên chúng ta có thể truy cập nó mà không cần một thể hiện như sau:





tiếng vang Toán::PI;


So với các biến thông thường, hằng số lớp có một số khác biệt đáng chú ý. Thứ nhất, chúng là bất biến, nghĩa là chúng không thể thay đổi một khi đã được xác định. Thứ hai, giá trị không đổi phân biệt chữ hoa chữ thường, không giống như các biến trong PHP. Hơn nữa, hằng số được xác định bằng cách sử dụng hằng số từ khóa, trong khi các biến sử dụng đã từng là từ khóa, đó là một sự khác biệt quan trọng.

Truy cập các hằng số lớp

truy cập hằng số lớp có thể được thực hiện theo hai cách.



1: Sử dụng Độ phân giải phạm vi (::)

Thứ nhất, các hằng số lớp được truy cập bằng cách sử dụng độ phân giải phạm vi (::) nhà điều hành, như trong:

Tên lớp::CONSTANT_NAME


Nhìn vào một ví dụ:

< ?php
lớp người {
const Tên = 'Larry' ;
const Tuổi = 32 ;
const Quốc tịch = 'Người Mỹ' ;
}
tiếng vang Người::Tên, ' \N ' ;
tiếng vang Người::Tuổi, ' \N ' ;
tiếng vang Người::Quốc tịch;
? >


Trong đoạn mã trên, Người lớp chỉ định Tên, Tuổi và Quốc tịch là ba hằng số . Mỗi hằng số có một giá trị chuỗi hoặc số nguyên được xác định cho nó.

Các :: Toán tử được sử dụng cùng với tên của hằng số để truy cập giá trị của hằng số lớp. Chẳng hạn, chúng ta sử dụng cú pháp Người::Tên để lấy giá trị của Tên không thay đổi.

Cuối cùng, chúng tôi in các giá trị của các hằng số Tên, Tuổi và Quốc tịch trên màn hình bằng cách sử dụng lệnh echo.

2: Sử dụng từ khóa 'bản thân'

Ngoài ra, chúng ta cũng có thể truy cập vào hằng số lớp trong chính lớp đó bằng cách sử dụng `bản thân` từ khóa theo sau bởi tên hằng được đưa ra dưới đây:

bản thân::CONSTANT_NAME


Nhìn vào một ví dụ để truy cập một hằng số bằng cách sử dụng bản thân từ khóa.

< ?php
vòng tròn lớp học {
hằng số PI = 3.14159 ;
riêng tư bán kính $ ;
công cộng chức năng __xây dựng ( bán kính $ ) {
$này - > bán kính = bán kính $ ;
}
công cộng chức năng Khu vực ( ) {
trở lại bản thân::PI * $này - > bán kính * $này - > bán kính;
}
}
vòng tròn $ = Vòng kết nối mới ( 16 ) ;
tiếng vang vòng tròn $ - > Khu vực ( ) ;
? >


Trong ví dụ trên, một lớp có tên là Circle chỉ định một thuộc tính riêng có tên là $radius và một hằng số có tên là PI. Công thức được sử dụng bởi getArea() chức năng để có được diện tích của một vòng tròn là PI * bán kính * bán kính , trong đó PI là giá trị của hằng số PI và bán kính là giá trị của tham số $radius.

Trong getArea() phương pháp, chúng tôi sử dụng các bản thân từ khóa theo sau là tên của hằng số để lấy giá trị của hằng số PI: bản thân::PI .


Có một vài cân nhắc cần ghi nhớ trong khi xác định hằng số lớp . Đầu tiên, đảm bảo rằng tên của hằng số lớp là duy nhất trong lớp. Thứ hai, nó phải tuân thủ các quy ước đặt tên giống như tên lớp, đó là sử dụng Camel Case cho các hằng số. Cuối cùng, một cách thực hành tốt là chỉ định nghĩa các giá trị vô hướng, chẳng hạn như số nguyên và chuỗi, như hằng số lớp .

Kế thừa các hằng số lớp

Một tính năng quan trọng khác của hằng số lớp là chúng có thể được kế thừa bởi các lớp con. Về bản chất, một lớp con có thể truy cập các giá trị không đổi được xác định bởi lớp cha của nó bằng cách sử dụng cha mẹ từ khóa. Ví dụ:

< ?php
lớp Động vật {
const ANIMAL_TYPE = 'động vật có vú' ;
}
lớp Chó mở rộng Động vật {
công cộng chức năng getType ( ) {
tiếng vang 'Chó là một' , cha mẹ::ANIMAL_TYPE;
}
}
con chó $ = Con chó mới ( ) ;
con chó $ - > getType ( ) ;
? >


Trong hình minh họa này, lớp Animal có một hằng số với giá trị “ động vật có vú tên là ANIMAL_TYPE . Các Chó là một lớp con kế thừa từ lớp Động vật.

Chức năng công cộng getType() của lớp Dog chỉ cần xuất giá trị của MỘT NIMAL_TYPE hằng số bằng cách truy cập hằng số của lớp cha bằng cách sử dụng cha mẹ::từ khóa .

Cuối cùng, chúng ta xây dựng một đối tượng lớp Dog và sử dụng getType() hàm trả về giá trị của hằng số kế thừa của lớp Animal ANIMAL_TYPE .

Phần kết luận

Việc sử dụng hằng số lớp là thành phần chính của Lập trình hướng đối tượng trong PHP và các ngôn ngữ lập trình khác . Bằng cách sử dụng hằng số lớp , chúng ta có thể tránh các giá trị được mã hóa cứng trong chương trình, điều này có thể gây rắc rối khi cập nhật mã. Điều quan trọng là phải tuân thủ các quy ước đặt tên và ghi nhớ khả năng truy cập của các hằng số lớp trong chương trình khi định nghĩa chúng.