1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập Trình Hướng Đối Tượng PHP Lý Thuyết và Bài Tập

18 1,7K 36

Đ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 18
Dung lượng 1,07 MB

Nội dung

Đối tượng và lớp đối tượ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 của các

Trang 1

Nguyễn Thị Thùy Liên Khoa CNTT – ĐHSP Hà Nội

lienntt@hnue.edu.vn

Trang 2

Đối tượng và lớp đối tượ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

của các đối tượng có chung tên các biến và hàm

2

Trang 3

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

– 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

đối tượng)

ở 1 trong 3 trạng thái: public, private hoặc protected

4

Trang 5

Định nghĩa lớp

class tên_lớp{

//thânlớp

}

 Thân lớp gồm có các khai báo dữ liệu, phương thức

 Thân lớp phải được đặt trong 1 khối lệnh PHP duy

nhất

Các dữ liệu (biến) được khai báo bằng var

 Các phương thức (hàm) khai báo như thông thường

Trang 6

Khai báo lớp

6

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

trong quá trình khai báo

Trang 7

Ví dụ:

class hoso

{

public $ho_ten;

public $ngay_sinh;

}

Trang 8

Sử dụng lớp

Cú pháp: $tên_đối_tượng = new tên_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ố);

8

Trang 9

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>

Trang 10

VD 2

10

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;

?>

Trang 11

Kế thừa lớp trong PHP

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 12

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

phương thức của lớp cha

giúp cho phương thức đó không bị ghi đè

ghi đè bằng cách sử dụng cú pháp:

parent::tên_phương_thức(tham số)

12

Trang 13

<?

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;

}

}

Trang 14

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

14

Trang 15

 <?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';

} }

Trang 16

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

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

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

16

Trang 17

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

Trang 18

Bài tập:

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

Ngày đăng: 15/04/2016, 21:26

TỪ KHÓA LIÊN QUAN

w