Bằng cách định nghĩa lại một phương thức đã có ở lớp cha, tất cả các lời gọi đến phương thức này mà không chỉ định rõ như trên sẽ được hiểu là gọi phương thức có cùng tên của lớp con.. a[r]
(1)PHP Advances
(2)2 Truyền nhận liệu (POST/GET) 3 Cookies, Sessions
4 Xử lý ngày tháng
5 Xử lý tập tin & thư mục 6 Upload tập tin lên Server 7 Hình ảnh
8 E-mail, Secure E-mail
(3)• Khai báo lớp • Hàm tạo
• Phạm vi • Kế thừa
(4)• Hàm tạo
(5)• Khai báo lớp
class tên_lớp {
các thuộc tính phương thức }
• Tạo hủy đối tượng
$tên_biến = new tên_lớp();
Đối tượng tự động bị hủy khơng cịn tham chiếu đến
(6)– public: sử dụng bên lớp
– private: sử dụng cục bên lớp
– protected: sử dụng lớp kế thừa
• Một số quy tắc chung:
– Không thể khai báo hai method trùng tên
– Method phải khai báo bên khai báo lớp
– Dùng biến giả $this để truy xuất member method lớp
– Dùng toán tử -> để truy xuất đến member
(7)• Khai báo constructor destructor
public function construct(danh sách tham số) {
khởi tạo giá trị member }
constructor tự động thực đối tượng tạo
public function destruct() {
dọn dẹp }
(8)(9)• Khai báo
const TÊN_HẰNG = giá trị;
• Truy xuất
tên_lớp::TÊN_HẰNG // lớp
(10)… static $thuộc_tính
• Truy xuất
tên_lớp::$thuộc_tính// ngồi lớp
seft::$thuộc_tính // lớp
(11)• Khai báo
– … static function phương_thức(…)
• Truy xuất
– tên_lớp::phương_thức(…) // ngồi lớp
(12)class lớp_con extends lớp_cha {
các thuộc tính phương thức }
Tất member method khai báo
public hay protected lớp cha thừa kế và sử dụng lớp con
(13)• Gọi method lớp cha parent::phương_thức(…)
(14)abstract class lớp_trừu_tượng {
// thuộc tính
abstract public function phương_thức_trừu_tượng(…);
…
// phương thức khác }
Không thể tạo đối tượng trực tiếp từ lớp trừu tượng
Lớp bắt buộc phải định nghĩa phương thức trừu tượng lớp cha
(15)• Lớp kế thừa
final class không_thể_kế_thừa { … }
• Phương thức khơng thể nạp chồng
(16)interface giao_diện {
public function phương_thức(); …
}
• Khai báo lớp theo mẫu Interface
abstract class tên_lớp implements giao_diện {
… }
Các lớp sử dụng Interface hay kế thừa từ lớp sử dụng Interface bắt buộc phải định nghĩa tất phương thức Interface đó
(17)(18)18
<?php
class AClass { var $a;
function AClass() { }
};
$ob1 = new AClass();
$ob1->a = 10;
$ob1->b = 100;
$ob1->c = “Nguyen Ngoc Thuy Hang";
$luu = serialize($ob1);
echo "$luu <br>";
$ob2 = unserialize($luu);
var_dump($ob2);
(19)(20)2
Internet or Intranet
7