1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình hướng đối tượng trong PHP

17 862 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 616,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đối tượng và lớp đối tượng• Các đối tượng Objects được định nghĩa thông qua:  Các thông số cơ bản của đối tượng các thuộc tính được thể hiện thông qua các biến  Các hành vi phương thứ

Trang 1

Lập trình hướng đối tượng trong PHP

Nguyễn Thị Thùy Liên

lienntt@hnue.edu.vn

Trang 2

Đối tượng và lớp đối tượng

• Các đối tượng (Objects) được định nghĩa thông qua:

Các thông số cơ bản của đối tượng (các thuộc

tính) được thể hiện thông qua các biến

Các hành vi (phương thức) được thể hiện thông

qua các hàm

• Class (lớp) định nghĩa các thuộc tính và các

hành vi của các đối tượng có chung tên các

biến và hàm

Trang 3

Lập trình hướng đối tượng trong

PHP

• Có hai dạng:

– Các lớp đối tượng đã được xây dựng sẵn (chỉ

việc đem ra sử dụng):

• Simple XML

• PDO

• SOAP

• DOM

• …

– Các lớp đối tượng do người dùng (lập trình viên)

định nghĩa

Trang 4

Một số nguyên tắc

• Khai báo lớp thông qua từ khoá class

• Khai báo các đối tượng thuộc một lớp xác định (dạng biến đối tượng)

• Các phương thức, thuộc tính của một lớp có thể được đặt ở 1 trong 3 trạng thái: public,

private hoặc protected

Trang 5

Khai báo lớp

class tên_lớp

{

// Danh sách các biến, lớp (thuộc tính) // Danh sách các hàm (phương thức) }

Lưu ý:

•Trong PHP 5, khi khai báo các thuộc tính và

phương thức, cần khai báo các tính chất của thuộc tính : riêng tư (private), công cộng (public)

•Các tính chất này thường được đặt trước các khai báo thuộc tính và phương thức

•Có thể thiết lập giá trị mặc định cho các thuộc tính

Trang 6

Ví dụ:

class hoso

{

public $ho_ten;

public $ngay_sinh; }

Trang 7

Sử dụng lớp

– Cú pháp: $tên_đối_tượng = new tên_lớp;

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 chính bản thân đối tượng trong

quá trình khai báo lớp:

• $this->tên_thuộc_tính;

• $this->thên_phương_thức(tham số);

Trang 8

Sử dụng lớp - ví dụ:

<HTML>

<HEAD>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</HEAD>

<BODY>

<?

class hoso

{

public $ho_ten;

public $ngay_sinh;

}

$hoang=new hoso;

$hoang->ho_ten="Nguyễn Huy Hoàng";

$hoang->ngay_sinh = "25/7/2003";

echo "Họ tên: " $hoang->ho_ten " Ngày sinh: " $hoang->ngay_sinh;

?>

</BODY>

</HTML>

Trang 9

VD 2

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 " Ngày sinh: "

$hoang->ngay_sinh;

?>

Trang 10

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 (“ Ngày sinh: " $this->ngay_sinh " ”);

echo (“ Nơi sinh: " $this->noi_sinh);

} }

Trang 11

Ghi đè các phương thức

• Cho phép viết lại các phương thức có cùng tên với phương thức của lớp cha

• Từ khoá Final đặt trước tên phương thức của lớp cha sẽ giúp cho phương thức đó không bị ghi đè

• Có thể tham chiếu tới các phương thức ở lớp cha đã bị ghi đè bằng cách sử dụng cú pháp: parent::tên_phương_thức(tham số)

Trang 12

class hoso

{

public $ho_ten = "Nguyễn Huy Hoàng";

public $ngay_sinh = "25/7/2003";

final public function in_hoso()

{

echo "Họ tên:" $this->ho_ten " Ngày sinh: " $this->ngay_sinh; }

}

class hoso2 extends hoso

{

public $noi_sinh="Thanh Hoá";

public function in_hoso()

{

parent::in_hoso();

echo " Nơi sinh: " $this->noi_sinh;

}

}

$hoang=new hoso2;

$hoang->in_hoso();

?>

Trang 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 nghĩa chi tiết ở các lớp con với các chế độ bảo vệ tương ứng như ở lớp cha

Trang 14

Ví dụ

Trang 15

Hàm dựng và hàm huỷ

 Hàm dựng:

đối tượng được khởi tạo.

 Hàm huỷ:

 Chú ý:

nếu như lớp con cũng có hàm dựng (hàm huỷ)

parent:: construct(); (hoặc tương ứng là

parent:: destruct();)

Trang 16

Ví dụ:

<?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();

?>

Trang 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 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

Ngày đăng: 15/04/2014, 16:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w