26
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang tự hỏi sự khác biệt giữa việc sử dụng bản thân :: và cha mẹ :: khi một lớp con tĩnh đang mở rộng lớp phụ huynh tĩnh, ví dụ:
class Parent {
public static function foo[] {
echo 'foo';
}
}
class Child extends Parent {
public static function func[] {
self::foo[];
}
public static function func2[] {
parent::foo[];
}
}
Có sự khác biệt nào giữa func [] và func2 [] và nếu vậy thì đó là gì?
Cảm ơn bạn
Trân trọng
Đã hỏi ngày 2 tháng 1 năm 2014 lúc 16:11Jan 2, 2014 at 16:11
6
Child has foo[] Parent has foo[]
self::foo[] YES YES Child foo[] is executed
parent::foo[] YES YES Parent foo[] is executed
self::foo[] YES NO Child foo[] is executed
parent::foo[] YES NO ERROR
self::foo[] NO YES Parent foo[] is executed
parent::foo[] NO YES Parent foo[] is executed
self::foo[] NO NO ERROR
parent::foo[] NO NO ERROR
Nếu bạn đang tìm kiếm các trường hợp chính xác cho việc sử dụng của họ. parent
cho phép truy cập vào lớp kế thừa, trong khi self
là tham chiếu đến lớp mà phương thức chạy [tĩnh hoặc cách khác] thuộc về.
Việc sử dụng từ khóa self
phổ biến là khi sử dụng mẫu singleton trong PHP, self
không tôn trọng các lớp con
parent
cung cấp khả năng truy cập các phương thức lớp kế thừa, thường hữu ích nếu bạn cần giữ lại một số chức năng mặc định.
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 16:27Jan 2, 2014 at 16:27
Mark Bakermark BakerMark Baker
207K31 Huy hiệu vàng339 Huy hiệu bạc380 Huy hiệu Đồng31 gold badges339 silver badges380 bronze badges
4
Tự được sử dụng để gọi hàm tĩnh và thao tác các biến tĩnh, là loại cụ thể không phải là cụ thể đối tượng.
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 16:49Jan 2, 2014 at 16:49
Naresh Walianaresh WaliaNaresh Walia
1.9722 Huy hiệu vàng15 Huy hiệu bạc16 Huy hiệu đồng2 gold badges15 silver badges16 bronze badges
Từ khóa tự và cha mẹ
PHP cung cấp hai từ khóa hoạt động với toán tử độ phân giải phạm vi đang theo dõi bên dưới.scope resolution operator are following below.
Từ khóa tự: Điều này đề cập đến lớp hiện tại và nó thường được sử dụng để truy cập các phương thức tĩnh, thuộc tính và không đổi. This refers to the current class and it is usually used to access static methods, property and constant.
Từ khóa cha: Điều này đề cập đến lớp cha. Nó được sử dụng thường xuyên khi chúng ta muốn gọi cho hàm tạo hoặc phương thức của cha mẹ.This refers to the parent class. It is used often to when we want to call the parent constructor or method.
Thí dụ
Đầu ra
Tên của thương hiệu: Audi Tên thương hiệu: Audi Model of Car: R 8 Color of Car: Black
Name of Brand: Audi
Model of Car: R 8
Color of Car: Black
Trong ví dụ trên, có hai lớp xe và mô hình và mô hình là con của lớp xe. Cả hai đều có một số tài sản và hành vi. Nếu bạn muốn truy cập thuộc tính hoặc hành vi tĩnh của lớp cha, thì hãy sử dụng từ khóa cha và nếu bạn muốn truy cập thuộc tính tĩnh hoặc hành vi của lớp con thì hãy sử dụng từ khóa tự
Thuộc tính tĩnh với đối tượng
Đầu ra
Tên của thương hiệu: Audi Tên thương hiệu: Audi Model of Car: R 8 Color of Car: Black
Model of Car: R 8
Color of Car: Black
Trong ví dụ trên, có hai lớp xe và mô hình và mô hình là con của lớp xe. Cả hai đều có một số tài sản và hành vi. Nếu bạn muốn truy cập thuộc tính hoặc hành vi tĩnh của lớp cha, thì hãy sử dụng từ khóa cha và nếu bạn muốn truy cập thuộc tính tĩnh hoặc hành vi của lớp con thì hãy sử dụng từ khóa tự
- Thuộc tính tĩnh với đối tượng
- Next>>