Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
1,07 MB
Nội dung
Nguyễn Thị Thùy Liên Khoa CNTT – ĐHSP Hà Nội lienntt@hnue.edu.vn Đối tượng 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 PHP • Có hai dạng: – Các lớp đối tượng xây dựng sẵn (chỉ việc đem sử dụng): • • • • • Simple XML PDO SOAP DOM … – Các lớp đối tượng người dùng (lập trình viên) định nghĩa Một số nguyên tắc Khai báo lớp thông qua từ khoá class Khai báo đối tượng thuộc lớp xác định (dạng biến đối tượng) Các phương thức, thuộc tính lớp đặt trạng thái: public, private protected Định nghĩa lớp class tên_lớp{ //thânlớp } Thân lớp gồm có khai báo liệu, phương thức Thân lớp phải đặt khối lệnh PHP Các liệu (biến) khai báo var Các phương thức (hàm) khai báo thông thường Khai báo lớp class tên_lớp { // Danh sách biến, lớp (thuộc tính) // Danh sách hàm (phương thức) } Lưu ý: •Trong PHP 5, khai báo thuộc tính phương thức, cần khai báo tính chất thuộc tính : riêng tư (private), công cộng (public) •Các tính chất thường đặt trước khai báo thuộc tính phương thức •Có thể thiết lập giá trị mặc định cho thuộc tính trình khai báo Ví dụ: class hoso { public $ho_ten; public $ngay_sinh; } Sử dụng lớp • Khai báo đối tượng thuộc lớp: – Cú pháp: $tên_đối_tượng = new tên_lớp; • Tham chiếu tới phương thức thuộc tính lớp: – Dùng toán tử tham chiếu -> – Tham chiếu từ tên đối tượng: • • $tên_đối_tượng->tên_thuộc_tính; $tên_đối_tượng->tên_phương_thức(tham số); – Tham chiếu tới thân đối tượng trình khai báo lớp: • • $this->tên_thuộc_tính; $this->thên_phương_thức(tham số); Sử dụng lớp - ví dụ VD class hoso { public $ho_ten = "Nguyễn Huy Hoàng"; public $ngay_sinh = "25/7/2003"; public function lap_gia_tri($hoten,$ngaysinh) { $this->ho_ten = $hoten; $this->ngay_sinh=$ngaysinh; } } $hoang=new hoso; echo "Họ tên: " $hoang->ho_ten ; echo " Ngày sinh: " $hoang->ngay_sinh; ?> 10 Kế thừa lớp PHP Để kế thừa lớp php, ta dùng từ khoá extends, theo sau tên lớp cha: class hoso2 extends hoso { public $noi_sinh="Thanh Hoá"; public function in_hoso() { echo ("Họ tên: " $this->ho_ten ".”); echo (“ Ngày sinh: " $this->ngay_sinh " ”); echo (“ Nơi sinh: " $this->noi_sinh); } } 11 Ghi đè phương thức Cho phép viết lại phương thức có tên với phương thức lớp cha Từ khoá Final đặt trước tên phương thức lớp cha giúp cho phương thức không bị ghi đè Có thể tham chiếu tới phương thức lớp cha bị ghi đè cách sử dụng cú pháp: parent::tên_phương_thức(tham số) 12 13 Lớp trừu tượng Cho phép định nghĩa lớp phương thức cách trừu tượng (chỉ có tên lớp, tên phương thức) Các lớp phương thức trừu tượng định nghĩa từ khoá abstract trước Không thể tạo thể lớp trừu tượng Ở lớp cha, phương thức trừu tượng có tên phải đặt chế độ public protected Các phương thức trừu tượng định nghĩa chi tiết lớp với chế độ bảo vệ tương ứng lớp cha 14 15 Hàm dựng hàm huỷ Hàm dựng: Khái niệm: phương thức tự động kích hoạt đối tượng khởi tạo Cách dùng: Khai báo hàm với tên construct(); Hàm huỷ: Khái niệm: Ngược lại với tạo tử Cách dùng: Khai báo hàm với tên destruct(); Chú ý: Hàm dựng Hàm huỷ lớp cha không thực thi lớp có hàm dựng (hàm huỷ) Để gọi hàm dựng (hoặc hàm huỷ) lớp cha, cần sử dụng parent:: construct(); (hoặc tương ứng parent:: destruct();) 16 Ví dụ: 17 Bài tập: Viết lớp (class) để giải phương trình bậc Viết lớp kế thừa từ lớp giải phương trình bậc để giải phương trình bậc 2: Kế thừa: Các tham số a, b, x Hàm giải PT bậc từ lớp cha trường hợp a=0 Chú ý: Sử dụng cách thức ghi đè hàm giải phương trình 18 [...]... $hoang->in_hoso(); ?> 13 Lớp trừu tượng Cho phép định nghĩa các lớp và các phương thức một cách trừu tượng (chỉ có tên lớp, tên phương thức) Các lớp và các phương thức trừu tượng được định nghĩa bởi từ khoá abstract ở trước Không thể tạo ra một thể hiện của một lớp trừu tượng Ở lớp cha, các phương thức trừu tượng chỉ có tên và phải được đặt ở chế độ public hoặc protected Các phương thức trừu tượng sẽ được định... < ?php class BaseClass { function construct() { print "In BaseClass constructor\n"; } } class SubClass extends BaseClass { function construct() { parent:: construct(); print "In SubClass constructor\n"; } } $obj = new BaseClass(); $obj = new SubClass(); ?> 17 Bài tập: 1 Viết một lớp (class) để giải phương trình bậc nhất 2 Viết một lớp kế thừa từ lớp giải phương trình bậc nhất để giải phương trình. .. $ob->showAll(); ?> 15 Hàm dựng và hàm huỷ Hàm dựng: Khái niệm: là một phương thức được tự động kích hoạt khi đối tượng được khởi tạo Cách dùng: Khai báo một hàm với tên là construct(); Hàm huỷ: Khái niệm: Ngược lại với tạo tử Cách dùng: Khai báo một hàm với tên là destruct(); Chú ý: Hàm dựng và Hàm huỷ ở lớp cha sẽ không được thực thi nếu như lớp con cũng có hàm dựng (hàm huỷ) Để gọi hàm dựng...Kế thừa lớp trong PHP Để kế thừa một lớp trong php, ta dùng từ khoá extends, theo sau là tên lớp cha: class hoso2 extends hoso { public $noi_sinh="Thanh Hoá"; public function in_hoso() { echo ("Họ tên: " $this->ho_ten ".”); echo (“... tương ứng như ở lớp cha 14 < ?php abstract class AbstractClass{ abstract protected function printA(); abstract protected function printB(); public function showAll(){ $this->printA(); $this->printB(); }} class extClass extends AbstractClass{ protected function printA(){ echo 'A'; } protected function printB(){ echo 'B'; }} $ob = new extClass; $ob->showAll(); ?> 15 Hàm dựng và hàm huỷ Hàm dựng: Khái... thừa từ lớp giải phương trình bậc nhất để giải phương trình bậc 2: Kế thừa: Các tham số a, b, x Hàm giải PT bậc nhất từ lớp cha trong trường hợp a=0 Chú ý: Sử dụng cách thức ghi đè đối với hàm giải phương trình 18 ... vi đối tượng có chung tên biến hàm Lập trình hướng đối tượng PHP • Có hai dạng: – Các lớp đối tượng xây dựng sẵn (chỉ việc đem sử dụng): • • • • • Simple XML PDO SOAP DOM … – Các lớp đối tượng. .. tử tham chiếu -> – Tham chiếu từ tên đối tượng: • • $tên _đối_ tượng- >tên_thuộc_tính; $tên _đối_ tượng- >tên_phương_thức(tham số); – Tham chiếu tới thân đối tượng trình khai báo lớp: • • $this->tên_thuộc_tính;.. .Đối tượng 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