24/05/2021 Lập trình web nâng cao Chương – Lập trình hướng đối tượng 01 Giới thiệu 02 Các vấn đề hướng đối tượng 03 Lớp abstract lớp interfaces 04 05 24/05/2021 Lập trình web nâng cao Giới thiệu OOP (Object Orient Programming) revolves around the concept of grouping code and 01 data together in logical units called classes This process is usually referred to as 02 encapsulation, or information hiding, since its goal is that of dividing an application into separate entities whose internal components can change without altering their external interfaces (ref: page 132 of ebook “phparchitects Zend PHP Certification Study Guide”) 04 Programming techniques may include features such as 05 abstraction, encapsulation, polymorphism, and inheritance 24/05/2021 Lập trình web nâng cao Các vấn đề OOP PHP Cú pháp khai báo lớp: Declaring a Class 02 class { // Your code is here … } Ví dụ: 04 class foo { const BAR = "Hello World"; } echo foo::BAR; 05 24/05/2021 Lập trình web nâng cao Các vấn đề OOP PHP Declaring a Class 02 04 05 24/05/2021 Cú pháp khai báo lớp kế thừa: class a { function test(){ echo "a::test called";} function func(){echo "a::func called";} } class b extends a { function test(){echo "b::test called";} } class c extends b { function test(){parent::test();} } class d extends c { function test(){b::test();} } Cú pháp xác định lớp đối tượng: if ($obj instanceof MyClass) { echo "\$obj is an instance of MyClass"; } Lập trình web nâng cao Các vấn đề OOP PHP Declaring a Class Instantiating an Object 02 04 05 24/05/2021 Cú pháp tạo đối tượng: $myClassInstance = new myClass(); Lưu ý: đối tượng PHP sử dụng theo dạng tham chiếu Ví dụ: $myClassInstance = new myClass(); $copyInstance = $myClassInstance(); // Cả biến $myInstance $copyInstance trỏ tới đối tượng thuộc myClass 0fx01 $myClassInstance myClass $copyInstance Lập trình web nâng cao Các vấn đề OOP PHP Declaring a Class Instantiating an Object 02 04 05 24/05/2021 Phương thức thuộc tính: class myClass { function myFunction() { echo "You called myClass::myFunction"; } } // Access methods of class myClass $obj = new myClass(); $obj -> myFunction(); $myClassInstance myClass $copyInstance Lập trình web nâng cao .. .Chương – Lập trình hướng đối tượng 01 Giới thiệu 02 Các vấn đề hướng đối tượng 03 Lớp abstract lớp interfaces 04 05 24/ 05/2021 Lập trình web nâng cao Giới thiệu OOP (Object... code is here … } Ví dụ: 04 class foo { const BAR = "Hello World"; } echo foo::BAR; 05 24/ 05/2021 Lập trình web nâng cao Các vấn đề OOP PHP Declaring a Class 02 04 05 24/ 05/2021 Cú pháp khai... Certification Study Guide”) 04 Programming techniques may include features such as 05 abstraction, encapsulation, polymorphism, and inheritance 24/ 05/2021 Lập trình web nâng cao Các vấn đề OOP PHP