Trừu Tượng Hoá Dữ Liệu Ví Dụ: Xây Dựng Chương Trình Quản Lý Sinh Viên

"two" => 2,

"three" => 3,

"seventeen" => 17

);

foreach($a as $k => $v) {

print "$a[$k] => $v.n";

}

2.10.3. Lệnh while

Cú pháp:

while ($condition) {

Có thể bạn quan tâm!

Xem toàn bộ 270 trang tài liệu này.

// dòng lệnh

}

Trong đó $condition là điều kiện để dừng (lặp) vòng lặp. Nếu $condition có giá trị false thì vòng lặp kết thúc, ngược lại vòng lặp sẽ tiếp tục lặp, vòng lặp while sẽ lặp vô hạn nếu biểu thức điều kiện truyền vào luôn luôn đúng

Ví dụ:

$i = 1; // Biến dùng để lặp

while ($i <= 10){ // Nếu $i <= 10 thì mới lặp echo $i . ' - '; // Xuất ra màn hình

$i++; // Tăng biến $i lên 1

}

2.10.4. Lệnh do while

Vòng lặp while sẽ kiểm tra điều kiện trước rồi thực hiện câu lệnh bên trong vòng lặp, còn vòng lặp do while thì ngược lại sẽ thực hiện câu lệnh bên trong vòng lặp trước rồi mới kiểm tra điều kiện, nếu điều kiện đúng thì sẽ thực hiện tiếp vòng lặp kế tiếp, nếu điều kiện sau thì sẽ dừng vòng lặp. Vòng lặp do while trong php luôn luôn thực hiện 1 lần lặp (vì nó thực hiện trước rồi mới kiểm tra điều kiện).

Cú pháp:


Ví dụ:

do {

// dòng lệnh

} while ($condition);


$i = 1; do{

echo $i;

$i++;

}while ($i <= 10);

2.10.5. Lệnh break, continue, goto, die, exit

1) Câu Lệnh Break

Thường được dùng để dừng và thoát khỏi vòng lặp cho dù vòng lặp vẫn chưa kết thúc.

Ví dụ:

for ($i = 1; $i <= 100; $i++)

{

echo $i . ' '; if ($i == 20)

{

break;

}

}

Trong ví dụ này thì vòng lặp được lặp từ 1 cho tới 100, nhưng nó không chạy hết 100 lần bởi vì khi nó chạy tới lần thứ 20 (tức là biến $i = 20) thì câu lệnh kiểm tra if đúng nên lệnh break bên trong câu if được thực hiện và sẽ dừng vòng lặp.

Không chỉ ở vòng lặp for mà các vòng lặp như while và do while, vòng lặp foreach ta đều có thể dùng lệnh break để kết thúc.

2) Câu Lệnh Continue

Dịch ra tiếng anh cũng đủ hiểu phần nào câu lệnh này, lệnh tiếp tục (continue) sẽ bỏ qua những đoạn code bên dưới nó và thực hiện vòng lặp kế tiếp (không thoát hẳn vòng lặp như lệnh break).

Ví dụ:

for ($i = 1; $i <= 10; $i++)

{

if ($i == 5)

{

continue;

}

echo $i . ' ';

}

Bài này vòng lặp for lặp từ 1 tới 10 và in ra các số đó. nhưng lạ thay là kết quả thiếu mất số 5 tại vì khi $i = 5 (vòng lặp thứ 5) thì câu lệnh continue đc thực hiện nên nó sẽ bỏ qua những đoạn code bên dưới nó ( và bên trong vòng lặp) để lặp vòng tiếp theo nên lệnh echo $i không được thực hiện.

Tương tự ta có thể sử dụng lệnh này cho tất cả các vòng lặp for, while, do while và foreach.

3) Câu Lệnh Goto

Dùng để nhảy đến một dòng code nào đó.

Ví dụ:


$a = 12;

$b = 13;

$c = $a + $b; echo $a;

goto label_end; echo $b; label_end;

Trong ví dụ này nếu bình thường thì nó sẽ xuất ra màn hình cả $a và $b nhưng

bài này nó chỉ xuất ra màn hình mỗi $a vì dòng goto label_end sẽ nhảy chương trình đến cái nhãn label_end nên dòng echo $b; không được thực hiện. label_end được gọi là nhãn (có thể đặt tên bất kỳ). Người ta khuyên rằng không nên sử dụng lệnh goto bởi vì nó khó nhìn, lộn xộn khó bảo trì nâng cấp.

4) Lênh die và exit

Với hai lệnh break và continue chỉ ảnh hương trong vòng lặp thì lệnh die và exit lại ảnh hưởng tới cả chương trình, nếu dùng 2 lệnh này thì chương trình sẽ dừng ngay lập tức và những đoạn code bên dưới die và exit sẽ không được thực hiện.

Ví dụ:

echo '123';

die(); // hoặc exit(); echo '456';

Trong ví dụ này kết quả xuất ra màn hình là 123, vởi vì dòng code echo ‟456′ không được thực hiện.

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

2.11.1. Khái niệm về lập trình hướng đối tượng

1) Đối tượng

Đối tượng là những sự vật, sự việc mà nó có những tính chất, đặc tính, hành động giống nhau và ta gom góp lại thành đối tượng.

Đối tượng ta không thể đếm được vì nó chỉ là hình tượng đại diện cho một nhóm cá thể, nhưng thể hiện của đối tượng thì ta đếm được. Ví dụ đối tượng học sinh ta không đếm được vì nó chỉ là định danh cho những học sinh nhưng 7 đối tượng học sinh thì lại đếm được vì 7 con người này là hình tượng thể hiện cho đối tượng học sinh Ta có thể tự định nghĩa những đối tượng không có thật để giải quyết bài toán, ví

dụ như đối tượng người ngoài hành tinh, …

Ví dụ:

- Động vật ta có thể ghép chúng thành một đối tượng vì chúng có các đặc tính như mắt, mũi, chân, tay , .. và các hành động như đi, ăn, uống nước, … Mỗi con vật như chó, mèo là một thể hiện của đối tượng động vật.

- Nhà là một đối tượng vì nhà có các đặc tính chiều cao, mặt trước, mặt sau, … và có các hành động xây nhà, xập nhà … Mỗi ngôi nhà là một thể hiện của đối tượng Nhà.

- Sinh viên là một đối tượng vì sinh viên có các đặc tính như tên, điểm thi, mã sinh viên… và những hành động như đi thi, điểm danh, … Mỗi sinh viên là một thể hiện của đối tượng Sinh viên.

- Xe đạp là một đối tượng vì xe đạp có các đặc tính như bánh xe, xăm xe, lốp xe và có những hành động như chạy, dừng, … . Mỗi chiếc xe đạp là một thể hiện của xe đạp.

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

Lập trình hướng đối tượng là lập trình hỗ trợ công nghệ đối tượng (OOP) giúp tăng năng xuất và đơn giản hóa công việc xây dựng phần mềm, bảo trì phần mềm. Cho phép lập trình viên tập trung vào các đối tượng giống như trong thực tế.

Có một vài ý kiến cho rằng lập trình hướng đối tượng dễ tiếp thu cho những người mới bắt đầu vì nó rất giống với thực tế, nhưng phải nắm các phương pháp lập trình truyền thống thì lúc qua lập trình hướng đối tượng sẽ rất dễ.

2.11.2. Lớp, thuộc tính, phương thức của đối tượng

1) Lớp (Class)

Như ta đã biết đối tượng là những sự vật, sự việc mà nó có những tính chất, hành động giống nhau, vậy thì lớp (class) có thể được ví như là một mẩu mô tả trạng thái, hành động của đối tượng đó.

Cú pháp:

class className{

// Các khai báo bên trong

}

Ví dụ:Khai báo lớp sinh viên (lớp này đại diện cho đối tượng sinh viên)

class sinhvien{

// Các khai báo bên trong

}

2) Thuộc tính của lớp

Thuộc tính của lớp chính là thuộc tính của đối tượng mà lớp đó mô tả, ví dụ đối tượng động vật có những thuộc tính như: mắt, mũi, tai, chân thì những thứ đó cũng chính là thuộc tính của lớp động vật.

Cú pháp:

class tenLop{

var $tenthuoctinh;

}

Trong đó: var $tenthuoctinh chính là cách khai báo thuộc tính cho lớp.

Ví dụ: Đối tượng động vật có các thuộc tính như mắt, mũi, tai, chân, hãy khai báo lớp động vật và các thuộc tính của lớp đó.

class DongVat{

var $mat; var $mui; var $tay; var $chan;

}

3) Phương thức của lớp

Phương thức của lớp chính là phương thức của đối tượng, đó là những hành động (hành vi) của đối tượng. Ví dụ đối tượng động vật có các hành động như ăn, sủa, chạy …

Các phương thức giống với hàm nên nó cũng có các tính chất như hàm đó chỉ khác là phương thức nằm trong một lớp đối tượng và muốn gọi đến nó thì phải thông qua lớp đối tượng này.

Cú Pháp:

class ClassName{

function tenPhuongThuc($bien){

// các lệnh bên trong

}

}

Trong đó tenPhuongThuc chính là tên phương thức mình muốn tạo.

Ví dụ: Đối tượng động vật có các thuộc tính như mắt, mũi, tai, chân, và các hành động như ăn, đi, chạy hãy khai báo lớp động vật và các thuộc tính, phương thức của lớp đó.

class DongVat{

// Các thuộc tính var $mat;

var $mui; var $tay; var $chan;

// Các phương thức function an($thuc_an){

// lệnh

}

function di(){

// lệnh

}

function chay(){

// lệnh

}

}

4) Khởi tạo, gán và gọi thuộc tính và phương thức

Khởi tạo lớp (đối tượng) mới

Hãy phân biệt khởi tạo đối tượng và khai báo đối tượng, khai báo đối tượng là ta tạo một lớp (class) của đối tượng đó, còn khởi tạo đối tượng là ta tạo một hình tượng của lớp (đối tượng) mà ta đã khai báo. Vì lớp mô phỏng cho đối tượng nên sẽ dùng từ lớp thay cho đối tượng luôn.

Cú pháp:


Ví dụ:

$ten_bien = new ClassName();


// Khai báo Lớp (đối tượng) Động Vật class DongVat{

// Các thuộc tính var $mat;

var $mui; var $tay; var $chan;

// Các phương thức function an($thuc_an){

// lệnh

}

function sua(){

// lệnh

}

function chay(){

// lệnh

}

}

// Khởi tạo lớp động vật mới

$conheo = new DongVat();

$conbo = new DongVat();

$conga = new DongVat();

Truy xuất đến các thuộc tính của đối tượng

Để truy xuất đến các thuộc tính của đối tượng ta dùng toán tử (->) để trỏ đến.

Cú pháp như sau:

$classname->method

Ví dụ:


// Khởi tạo lớp động vật mới

$conheo = new DongVat($thuc_an);

// Gán giá trị cho các thuộc tính của đối tượng $conheo

$conheo->mat = 'Mắt 2 mí';

$conheo->mui = 'Mũi tây phương';

// Lấy các giá trị và xuất ra màn hình

echo $conheo->mat; // kết quả xuất ra màn hình "Mắt 2 mí"

echo $conheo->mui ;// kết quả xuất ra màn hình "Mũi tây phương"

Gọi các phương thức (hàm) của đối tượng

Cũng tương tự như truy xuất đến các thuộc tính của đối tượng, ta dùng toán tử (->) để gọi các hàm trong đối tượng.

Cú pháp như sau:

$classname->function();

Ví dụ:


class DongVat

{

// Các phương thức function an($thuc_an){

echo 'Hôm Nay Ăn Món ' . $thuc_an;

}

}

// Khởi tạo lớp động vật mới

$conheo = new DongVat();

// Gọi đến hàm ăn

$conheo->an('Cám'); // kết quả là "Hôm Nay Ăn Món Cám"

Ta thấy nó cũng giống như cách gọi hàm. Hàm trong đối tượng gọi đến các thuộc tính của chính mình bằng cú pháp sau:

$this->ten_thuoc_tinh;

Ví dụ:


class DongVat {

var $hello = 'Xin chào các bạn, Tôi đang ăn nhé';

// Các phương thức

// hàm (hành động) ăn function an(){

echo $this->hello;

}

}

// Khởi tạo lớp động vật mới

$conheo = new DongVat();

// Gọi đến hàm ăn

$conheo->an(); // kết quả "Xin chào các s , Tôi đang ăn nhé"

2.11.3 Trừu tượng hóa dữ liệu

Trừu tượng hóa là quá trình đơn giản hóa một đối tượng mà trong đó chỉ bao gồm những đặc điểm quan tâm và bỏ qua những đặc điểm chi tiết nhỏ. Quá trình trừu tượng hóa dữ liệu giúp ta xác định được những thuộc tính, hành động nào của đối tượng cần thiết sử dụng cho chương trình.

Trừu tượng hóa dữ liệu là quá trình trừu tượng hóa một đối tượng một cách đủ thông tin để lưu vào hệ thống dữ liệu. Quá trình này giống với bộ phận phân tích hệ thống dữ liệu, lấy thông tin của khách hàng và trừu tượng hóa để đưa vào cơ sở dữ liệu.

Hình 2 15 Trừu tượng hoá dữ liệu Ví dụ Xây dựng chương trình quản lý sinh 1

Hình 2.15. Trừu tượng hoá dữ liệu Ví dụ:Xây dựng chương trình quản lý sinh viên

Đối tượng: Các sinh viên. Dữ liệu:

- Họ Tên

- Ngày Sinh

- Giới Tính

- Địa Chỉ

- Học Lớp

- …

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 15/07/2022