intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng PHP: Chương 2. Làm quen với PHP (tiếp) - Đào Quang Minh

Chia sẻ: Cactaceae1 Cactaceae | Ngày: | Loại File: PDF | Số trang:47

217
lượt xem
78
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Khai Khai báo và thể hiêgn lớp trong PHP: Các lớp được khai báo thông qua từ khóa class, các thuộc tính khai báo dưới dạng các biến còn các phương thức được khai báo dưới dạng các hàm: class tên_lớp { //danh_sách_các biến, hằng, lớp //danh_sách_các_hàm }

Chủ đề:
Lưu

Nội dung Text: Bài giảng PHP: Chương 2. Làm quen với PHP (tiếp) - Đào Quang Minh

  1. PHP PHP The Second Day ðào Quang Minh Trung tâm Tính toán Hi u năng cao – ðHBK Hà N i minh0302@gmail.com http://hpcc.hut.edu.vn/~minhdq http://hpcc.hut.edu.vn/~minhdq
  2. Ch Chương 2: Làm quen v i PHP (ti p) L p trình hư ng ñ i tư ng trong PHP Các phương th c truy n d li u trong PHP Các khái ni m nâng cao
  3. L p trình hư ng ñ i tư ng trong PHP
  4. Khai Khai báo và th hi n l p trong PHP Các l p ñư c khai báo thông qua t khóa class, các thu c tính khai báo dư i d ng các bi n còn các phương th c ñư c khai báo dư i d ng các hàm class tên_l p { //danh_sách_các bi n, h ng, l p //danh_sách_các_hàm }
  5. (ti (ti p) Kh i t o m t ñ i tư ng thu c m t l p v i t khóa new $tên_ñ i_tư ng = new tên_l p(); ð g i hàm trong l p ta s d ng toán t -> $tên_ñ i_tư ng->tên_hàm(); Ho c dùng toán t :: ñ g i ñ n m t hàm hay m t bi n (bi n ph i ñư c khai báo static) $tên_ñ i_tư ng::tên_hàm(); $tên_ñ i_tư ng::$tên_bi n;
  6. Hàm Hàm t ñ ng g i __autoload Trong trư ng h p chúng ta s d ng m t l p chưa ñư c ñ nh nghĩa thì hàm autoload s t ñ ng ñư c g i. function __autoload($class_name) { require_once $class_name.’.php’; } ði u này là chưa t ng có trong các phiên b n PHP trư c ñây, ch t PHP 5.x m i có tính năng này.
  7. Hàm Hàm t o __construct Cho phép b n khai báo hàm t o theo phương th c m i class A { function __construct(){ //dòng l nh } } N u không tìm th y hàm t o theo phương th c m i này, PHP s tìm hàm t o trong s các hàm c a l p v i tên hàm trùng v i tên l p (cách cũ).
  8. Hàm Hàm h y __destruct Ngư c l i v i hàm t o, hàm h y ñư c tri u g i khi ñ i tư ng b h y ðư c g i trong hai tình hu ng – Trong lúc th c thi mã l nh, khi mà t t c các liên quan ñ n ñ i tư ng b không còn n a. – Ho c khi ñ n cu i cùng c a mã l nh và PHP k t thúc các truy v n. function __destruct() { } $tên_ñ i_tư ng = NULL;
  9. Truy c p phương th c và thu c tính Truy s d ng con tr $this Public, protected, private v i các thu c tính – Public: có th truy xu t t bên ngoài ho c t bên trong phương th c thông qua con tr ñ c bi t $this class A { public $a = “public_member”; function printHello() { print “Xin chao”; } function test() { print $this->a; print $this->printHello(); } }
  10. (ti (ti p) – Protected: ch có th truy xu t t bên trong phương th c c a l p ñó ho c t m t l p k th a t l p ñó. class A { protected $a = “protected_member”; function printHello() { print $this->a; } } class B extends class A { protected $a = “new protected_member”; function subprintHello() { print $this->a; } }
  11. (ti (ti p) – Private: ch có th ñư c truy xu t t bên trong l p ñó, cũng s d ng con tr $this như protected class A { private $a = “private_member”; function printHello() { print $this->a; } }
  12. (ti (ti p) Public, protected, private v i các phương th c – Cũng tương t như v i các thu c tính v i các ñ nh nghĩa và ràng bu c cho các ki u public, protected và private – Cách khai báo cũng tương t như khai báo các thu c tính class A { public function printHello() { } }
  13. Static Static Bi n static có th coi như m t bi n toàn c c ñư c ñ t trong 1 l p nhưng có th truy xu t t b t kỳ ñâu qua l p ñó, s d ng toán t :: Khi g i bi n static trong hàm ta s d ng toán t self thay cho con tr this class A { static $a = 5; function printHello(){ print self::$a;} } print A::$a++;//6 A::printHello();//5
  14. (ti (ti p) Phương th c static: tương t như bi n static nhưng ngoài vi c g i nó b ng toán t self nó có th ñư c truy xu t b ng con tr this trong 1 hàm class A { static function printHello() { print “Xin chao”; } function show () { self::printHello();//ho c $this->printHello(); } } A::printHello();//A::show(); s l i khi dùng $this $obj = new A(); $obj->show();//ho c $obj->printHello();
  15. (ti (ti p) Chú ý ñ tránh s không rõ ràng gi a toán t this và self hay -> và :: ngư i ta thư ng quy ư c như sau: – Khi g i ñ n thu c tính hay ñ i tư ng ki u static trong m t l p hay t ngoài l p g i ñ n 1 hàm hay 1 thu c tính c a l p nên dùng toán t self và :: – Khi g i ñ n thu c tính hay ñ i tư ng bình thư ng trong m t l p hay t ngoài l p g i ñ n 1 hàm hay 1 thu c tính c a l p thì dùng toán t this và ->
  16. H ng s trong l p Có th ñ nh nghĩa h ng trên m t l p Nó có giá tr không ñ i và khai báo không có $ Tên h ng không ñư c trùng v i tên bi n, l p, hàm hay k t qu c a 1 phép toán hay 1 hàm const myConst = “Const_Value”; ð l y giá tr c a 1 h ng ta ch có th dùng toán t :: ho c thông qua m t phương th c
  17. ða hình ða hình trong PHP s d ng các l p và th a k gi a chúng, làm cho vi c miêu t các tình hu ng trong cu c s ng th c ñư c d dàng hơn. Nó cũng làm cho d dàng hơn v i l p trình viên khi phát tri n 1 d án b ng cách s d ng l i nh ng mã l nh chính thông qua th a k class child extends class parent { }
  18. (ti (ti p) PHP không h tr ña th a k như C++ PHP cung c p 1 gi i pháp khác cho vi c t o ra nhi u hơn 1 quan h c a l p b ng cách s d ng interfaces như là Java
  19. parent:: parent:: và self:: PHP h tr 2 l p dành riêng ñ d dàng hơn trong vi c vi t các ng d ng hư ng ñ i tư ng – Self:: thư ng ñư c dùng ñ truy c p ñ n các ñ i tư ng, phương th c ki u static hay h ng s c a l p hi n t i – Parent:: g i ñ n l p cha và thư ng ñư c dùng khi mu n g i hàm t o hay các phương th c c a l p cha
  20. Toán Toán t instanceof Có giá tr tr v ki u logic (true hay false) function checkifClass ($shape) { if ($shape instanceof Rectangle) { print $shape->name; print “ is a Class A ”; } } checkifClass(new Square());
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2