Giới thiệu về OOP
Thuộc phần Lập trình hướng đối tượng trong hành trình PHP của Coddy. Bài học 2 trên 91.
Lập trình hướng đối tượng (Object-Oriented Programming, OOP) tổ chức code xoay quanh các đối tượng chứa dữ liệu (data) dưới dạng thuộc tính (property) và hàm (function) dưới dạng phương thức (method).
Tạo một tệp có tên car.php với một lớp
<?php
class Car {
// phần thân lớp trống
}Tạo một tệp khác tên là driver.php để sử dụng lớp
<?php
require_once 'car.php';Tạo một đối tượng từ lớp Car bằng từ khóa new
$myCar = new Car();Kiểm tra lớp của đối tượng
echo get_class($myCar);Đầu ra:
CarĐiều này xác nhận bạn đã tạo thành công một đối tượng từ lớp Car. Trong OOP, lớp (class) giống như bản thiết kế, còn đối tượng (object) là thứ bạn tạo ra dựa trên bản thiết kế đó. Từ khóa new tạo một instance mới của lớp.
Thử thách
Trung bìnhTrong thử thách này, bạn sẽ dùng lớp Car được định nghĩa trong car.php và tạo một đối tượng từ lớp đó trong driver.php.
Bạn cần cập nhật driver.php:
- Tạo một đối tượng từ lớp
Carbằng từ khóanewvà lưu đối tượng đó vào$myCar
Tệp driver sẽ in tên lớp để xác minh cách triển khai của bạn.
Tự làm thử
<?php
require_once 'car.php';
// TODO: Tạo một đối tượng từ lớp Car
$myCar = ?;
// In ra lớp của $myCar
echo get_class($myCar) . "\n";
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Lập trình hướng đối tượng
1Nền tảng về OOP
Tệp bên ngoàiGiới thiệu về OOPLớp và đối tượngTừ khóa $thisPhương thứcThuộc tínhHàm khởi tạo (__construct)Hàm hủy (__destruct)Ôn tập: máy tính đơn giản4Kế thừa
Kế thừa cơ bảnTừ khóa parent::Ghi đè phương thứcTừ khóa finalLớp trừu tượngÔn tập: hệ thống phân cấp nhân viên7Đóng gói
Công khai, được bảo vệ, riêng tưTìm hiểu sâu về bộ điều chỉnh quyền truy cậpGetter và setterẨn thông tinRút gọn hàm khởi tạo (8.0)Ôn tập: hệ thống hồ sơ học sinh2Không gian tên và tự động nạp
Giới thiệu về không gian tênTừ khóa useChuẩn tự động nạp PSR-4Trình tự động nạp của ComposerÔn tập: dự án có tổ chức5Giao diện và hợp đồng
Giới thiệu về giao diệnTriển khai giao diệnTriển khai nhiều giao diệnGiao diện và lớp trừu tượngGợi ý kiểu với giao diệnÔn tập: Máy tính hình học8Phương thức ma thuật
Giới thiệu về phương thức ma thuật__toString và __debugInfo__get, __set, __isset, __unset__call và __callStatic__clone và sao chép đối tượng__serialize và __unserializeÔn tập: Bộ sưu tập tùy chỉnh3Thuộc tính của lớp
Thuộc tính instance và staticHằng số trong lớpPhương thức và thuộc tính staticThuộc tính private và protectedThuộc tính chỉ đọc (PHP 8.1)Ôn tập: Trình quản lý tài khoản ngân hàng6Đa hình
Xem lại việc ghi đè phương thứcĐa hình qua giao diệnGợi ý kiểu và kiểu hợpLiên kết tĩnh muộnÔn tập: bộ xử lý thanh toánTự luyện tập: Trình biên dịch PHP online