LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG<br />
TRONG PHP<br />
Giảng viên phụ trách:<br />
Nguyễn Hoàng Tùng<br />
Bộ môn Tin học<br />
Email: nhoangtung@agu.edu.vn<br />
<br />
Nội dung chính của phần này<br />
Giới thiệu.<br />
Khai báo một lớp.<br />
Thuộc tính, phương thức.<br />
<br />
Truy cập các thành phần của lớp bằng $this.<br />
Giải quyết vấn đề không cho phép overloading trong PHP.<br />
<br />
Hàm tạo (__construct).<br />
Hàm hủy (__destruct).<br />
Thành phần static.<br />
<br />
Kế thừa (extends).<br />
Hàm lấy tên lớp đang thực thi __autoload.<br />
20/08/2012<br />
<br />
Công nghệ Web và Ứng dụng<br />
<br />
2<br />
<br />
Giới thiệu<br />
OOP chỉ có trong phiên bản từ PHP 5.x về sau.<br />
Đặc điểm OOP trong PHP 5.x: Không cho phép đa kế thừa!<br />
<br />
20/08/2012<br />
<br />
Công nghệ Web và Ứng dụng<br />
<br />
3<br />
<br />
Khai báo một lớp<br />
Khai báo lớp:<br />
class tên_lớp<br />
<br />
{<br />
//khai báo thuộc tính<br />
//khai báo phương thức<br />
//sử dụng private hay public và protected để xác định phạm vi<br />
<br />
}<br />
Với PHP5.x, tất cả các thành viên của một lớp đều phải được<br />
khai báo tính rõ ràng với các từ khoá tương ứng là public,<br />
protected và private.<br />
<br />
01/08/2012<br />
<br />
Lập trình Web<br />
<br />
4<br />
<br />
Khai báo một lớp<br />
Không khai báo lớp:<br />
Trong nhiều file,<br />
<br />
Trong nhiều khối lệnh,<br />
Bắt đầu bằng __ (đối với tên lớp và tên phương thức).<br />
<br />
Sử dụng:<br />
Tạo biến đối tượng:<br />
• $tên_object = new tên_class([giá trị khởi tạo]);<br />
• $sv = new SinhVien("Nguyen Hoang Tung");<br />
<br />
Sử dụng thuộc tính, phương thức:<br />
• $tên_object->tên_thuộc_tính;<br />
• $tên_object->tên_phương_thức([tham số]);<br />
01/08/2012<br />
<br />
Lập trình Web<br />
<br />
5<br />
<br />