Ở bài trước các bạn đã biết được định nghĩa lập trình hướng đối tượng. Trong bài này tôi sẽ hướng dẫn các bạn cách khai báo lớp đối tượng trong php.
1. Lớp là gì?
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ó nhiều người hiểu nhầm lớp chính là đối tượng.
Cú pháp:
1
2
3
4
| class className { // Các khai báo bên trong } |
1
2
3
4
| 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:
Cú Pháp:
1
2
3
| 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 đó.
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 đó.
1
2
3
4
5
6
7
| 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 nó rất 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. Từ nay đễ cho dễ tôi sẽ gọi các phược thức là hàm nhé.
Cú Pháp:
Cú Pháp:
1
2
3
4
5
6
7
| class ClassName { function tenPhuongThuc( $bien ) { // các lệnh bên trong } } |
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, sủa, 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 đó.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| 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 } } |
4. Khởi Tạo, Gán Và Gọi Thuộc Tính – Phương Thức
Khởi Tạo Lớp (đối tượng) Mới
Bạn phải phân biệt được 2 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 sau này tôi sẽ dùng từ lớp thay cho đối tượng luôn.
Cú pháp: $ten_bien = new ClassName();
Ví Dụ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| // 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ụ:
Ví dụ:
1
2
3
4
5
6
7
8
9
10
11
12
| // 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 $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 // kết quả xuất ra màn hình "Mắt 2 mí" echo $conheo ->mat; // kết quả xuất ra màn hình "Mũi tây phương" echo $conheo ->mui ; |
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ụ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 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 // kết quả là "Hôm Nay Ăn Món Cám" $conheo ->an( 'Cám' ); |
Các bạn thấy đó nó cũng giống như cách gọi hàm bình thường thôi đúng không.
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ụ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 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 // kết quả "Xin chào các bạn, Tôi đang ăn nhé" $conheo ->an(); |
Kết Thúc Bài Học
Trong bài nay tôi muốn các bạn phân biệt được thế nào là đối tượng và lớp, cách khai báo lớp cách truy xuất các thuộc tính và phương thức của lớp trong php để qua những bài sau dễ dàng hiểu các ví dụ tôi đưa ra hơn. Bài tiếp theo chúng ta sẽ tìm hiểu khái niệm trừu tượng hóa dữ liệu
Nguồn: (code.freetuts.net)
0 nhận xét: