Bài giảng Lập trình trang web động - Chương 5: Lập trình hướng đối tượng thông tin đến người học kiến thức lập trình truyền thống; lập trình hương đối tượng; lớp – thuộc tính – phương thức của đối tượng; trừu tượng hóa dữ liệu; tính kế thừa trong PHP; các mức truy cập; hàm khởi tạo và hàm hủy trong PHP.
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI Chương Lập trình hướng đối tượng Nguyễn thị Quỳnh Hoa - Khoa CNTT- ĐH Sư phạm Hà Nội NỘI DUNG • Lập trình truyền thống • Lập trình hương đối tượng • Lớp – Thuộc tính – Phương thức đối tượng • Trừu tượng hóa liệu • Tính kế thừa PHP • Các mức truy cập • Hàm khởi tạo hàm hủy PHP LẬP TRÌNH TRUYỀN THỐNG • Lập trình khơng có cấu trúc • Lập trình hướng thủ tục • Lập trình hướng modun LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG • Đối tượng vậy, tượng có thuộc tính, phương thức giống • Lập trình hướng đối tượng (OOP-Object-Oriented Programming) : Là phương pháp lập trình giúp tăng suất, đơn giản hóa độphức tạp bảo trì, mở rộng phần mềm cách cho phép lập trình viên tập trung vào đối tượng phần mềm giống thực tế LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG • Các tính chất : − Trừu tượng hóa : quấ trình đơn giản hóa đối tượng,là việc xác định thuộc tính, phương thức cần thiết cho chương trình − Thừa kế: Là kỹ thuật cho phép lớp kế thừa phương thức thuộc tính lớp khác − Đa hình : kỹ thuật cho phép lớp viết lại thuộc tính hay phương thức lớp khác − Đóng gói : Là tính chất khơng cho phép người dùng hay đối tượng khác thay đổi liệu thành viên đối tượng nội Chỉ có thành viên đối tượng phép thay đổi ĐỐI TƯỢNG VÀ LỚP ĐỐI TƯỢNG • Các đối tượng (objects) định nghĩa thông qua : − Các thơng số đối tượng (các thuộc tính) thể thông qua biến − Các hành vi (phương thức) thể thông qua hàm • Class (lớp) định nghĩa thuộc tính hành vi đối tượng có chung tên biến hàm LẬP TRÌNH HƯỚNG ĐƠI TƯỢNG TRONG PHP • Có dạng : − Các lớp đối tượng xây dựng sẵn − Simple XML − PDO − SOAP − DOM − … − Các lớp đối tượng người dùng định nghĩa LỚP TRONG PHP • Khai báo • Sử dụng : − $đối_tượng=new tên_class − //Sử dụng $đối_tượng-> thuộc tính, phương thức class TRỪU TƯỢNG HĨA DỮ LIỆU • Xét tốn : Xây dựng chương trình quản lý sinh viên • Đối tượng : Các sinh viên • Dữ liệu : Hộ tên, ngày sinh, địa chỉ, giới tính, học lớp,… • Hành động : Thêm sinh viên, Đuổi sinh viên, Đăng ký học phần cho sinh viên,… TRỪU TƯỢNG HĨA DỮ LIỆU • Các chế : − Public : Các đối tượng từ bên ngồi class truy cập, hỗ trợ kế thừa Khai báo : public $tên_biến; − Protected :Các đối tượng từ bên ngồi class khơng thể truy cập, hỗ trợ kế thừa Khai báo : protec $tên_biến; − Private : Các đối tượng từ bên ngồi class khơng thể truy cập, không hỗ trợ kế thừa Khai báo : private $tên_biến; − Set, get : Cho phép đối tượng bên class truy cập, xử lý chế private protected 10 LỚP TRỪU TƯỢNG TRONG PHP • Khai báo lớp Abstract 17 LỚP TRỪU TƯỢNG TRONG PHP 18 HÀM VÀ LỚP FINAL • Lớp Final lớp khai báo lớp cuối cùng, không lớp kế thừa 19 HÀM VÀ LỚP FINAL • Ví dụ hàm Final : 20 HÀM DỰNG (HÀM TẠO) • Khái niệm : Là phwong thức tự động kích hoạt đối tượng khởi tạo • Cách dùng : Có cách khởi tạo Khai báo tên trùng tên lớp Khai báo với tên Contruct 21 HÀM DỰNG (HÀM TẠO) • Hàm khởi tạo kế thừa: − Nếu lớp có hàm khởi tạo lớp cha có hàm khởi tạo : Hàm khởi tạo lớp chạy, hàm khởi tạo lớp cha không chạy − Nếu lớp khơng có hàm khởi tạo, lớp cha có hàm khởi tạo : Hàm khởi tạo lớp cha chạy − Lớp có hàm khởi tạo, lớp cha khơng có hàm khởi tọa : Trường hợp hàm khởi tạo lớp chạy 22 HÀM HỦY • Khái niệm : Phương thức đạc biệt thực hủy đối tượng • Cách dùng : Khai báo môt hàm với tên destruct(); • Cú pháp public function destruct(){ //Lệnh thực thi } • Hàm hủy kế thừa : Tương tự hàm khởi tạo kế thừa 23 LƯU Ý • Hàm hủy hàm dựng lớp cha không thực thi lớp có hàm hhwngj (hàm hủy) • Để gọi hàm dựng (hoặc hàm hủy) lớp cha, cần sử dụng Parent: construct(); Parent: destruct(); 24 HẰNG CỦA LỚP • Hằng lớp giá trị không đổi thuộc lớp, khơng phải đói tượng tạo từ lớp khai báo với từ khóa const Const RATE = 1; • Truy cập tới hàng lớp − Truy cập từ tong lớp : self::constName − Truy cập từ bên lớp className::constName • Thuộc tính ln public • Thường sử dụng để xác định tập hợp tùy chọn truyền cho phương thức lớp 25 THUỘC TÍNH VÀ PHƯƠNG THỨC TĨNH • Thuộc tính tĩnh hay phương thức tĩnh thuộc lwps khơng thuộc đối tượng tạo từ lớp • Khai báo với từ khóa static − Public static $number = 0; − Public static function () {}; • Truy cập : − Self::$number; − className::$number; 26 THUỘC TÍNH VÀ PHƯƠNG THỨC TĨNH • Xét ví dụ 27 THUỘC TÍNH VÀ PHƯƠNG THỨC TĨNH • Xét ví dụ 28 SAO CHÉP ĐỐI TƯỢNG • Sao chép tạo đối tượng gán vào biến • Cú pháp : $newobject= clone $object 29 CÁC HÀM KIỂM TRA MỘT ĐỐI TƯỢNG • Class_exists ($class) : trả true class định nghĩa • Get_class ($object) : trả tên lớp object • Is_a ($object,$class) : Trả true object thể class • Property_exists ($object,$property_: trả true object có property • Method_exists ($object,$method) : trả true object có method 30 BÀI TẬP 31 ... TRUYỀN THỐNG • Lập trình khơng có cấu trúc • Lập trình hướng thủ tục • Lập trình hướng modun LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG • Đối tượng vậy, tượng có thuộc tính, phương thức giống • Lập trình hướng đối... DUNG • Lập trình truyền thống • Lập trình hương đối tượng • Lớp – Thuộc tính – Phương thức đối tượng • Trừu tượng hóa liệu • Tính kế thừa PHP • Các mức truy cập • Hàm khởi tạo hàm hủy PHP LẬP TRÌNH... : Là phương pháp lập trình giúp tăng suất, đơn giản hóa độphức tạp bảo trì, mở rộng phần mềm cách cho phép lập trình viên tập trung vào đối tượng phần mềm giống thực tế LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG