Lớp thuộc tính phương thức trong OOP

68 / 100

Lớp thuộc tính phương thức trong OOP

Lớp thuộc tính phương thức trong OOP

Lớp (Class)

– Là một phần mô tả trạng thái, hành động của đối tượng (chú ý: lớp không phải đối tượng)

– Khai báo lớp trong OOP bằng từ khóa class + tên lớp như sau

1
2
3
4
class ClassName
{
// các thuộc tính và phương thức bên trong
}

– Ví dụ về lớp HinhHoc

1
2
3
4
5
6
class HinhHoc
{
// các thuộc tính và phương thức bên trong
}

Thuộc tính (properties)

– Thuộc tính trong lớp là mô tả đặc điểm (có tác dụng như các biến và hằng trong lập trình hướng thủ tục )

+ Khai báo thuộc tính động: var tenbien

+ Khai báo thuộc tính cố định: const tenbien=giatri

1
2
3
4
5
6
7
class ClassName
{
//thuộc tính động
var $propertiesName;
// thuộc tính cố định
const $propertiesName = value;
}

Ví dụ về thuộc tính trong lớp HinhHoc

1
2
3
4
5
class HinhHoc
{
var $chieudai;
const anpha = 10;
}

Phương thức (method)

– Phương thức là các hành động của đối tượng

– Khai báo phương thức

1
2
3
4
5
6
7
class ClassName
{
   function methodName()
   {
     //code
   }
}

– Ví dụ phương thức tinhDienTich lớp hình học

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class HinhHoc
{
   var $chieu dai;
   function tinhDienTich()
   {
   //code
   }
   function tinhChuvi()
   {
    //code
   
   }
}

– Phương thức là một hàm vì thế bạn có thể truyền các tham số đầu vào cho nó nhé

1
2
3
4
5
function tinhChuvi($rong)
{
  //code
}

Khởi tạo lớp

– Dùng 1 trong 2 cú pháp sau

1
2
3
4
5
new ClassName;
hoặc
new ClassName();

– Có thể dùng biến để gán giá trị

1
$variable = new ClassName();

Truy xuất thuộc tính của class

1. Truy xuất bên trong lớp

– Cách dùng dùng từ khóa this trỏ đến thuộc tính với cú pháp: $this->propertyName

– Ví dụ với lớp hình học truy xuất đến thuộc tính chiều dài

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class HinhHoc
{
var $chieudai;
function tinhDientich()
{
$this->chieudai = 2;
}
}

2. Truy xuất bên ngoài lớp

– Đối với thuộc tính động

1
2
3
$variable = new ClassName();
$variable->propertyName;

– Đối với thuộc tính cố định

1
ClassName::propertyName;

Truy xuất phương thức của class

1. Truy xuất phương thức trong lớp

– Dùng từ khóa this với cú pháp:

1
2
3
4
5
$this->methodName();
//hoặc có tham số truyền vào
$this->methodName(agrument);

2. Truy xuất phương thức ngoài lớp

1
2
3
$variable = new ClassName();
$variable->methodName();

Tóm tắt

Nói thì dài dòng vậy thôi mình sẽ tóm tắt lại qua ví dụ tổng kết để bạn hiểu nhé về lớp thuộc tính và phương thức trong loạt bài PHP nâng cao nhé

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
31
32
33
34
35
36
37
38
39
40
41
// khai bao lop
class HinhHoc
{
// khai bao thuộc tính động
var $chieudai;
// khai báo thuộc tính cố định
const anpha = 10;
// khai baos phương thức
function tinhDienTich()
{
// gọi thuộc tính động trong class
$this->chieudai = 2;
// gọi thuộc tính cố định trong class
self::anpha;
}
function tinhChuVi($rong)
{
// gọi phương thức trong class
$this->tinhDienTich();
}
}
// Khởi tạo lớp
$xuat = new HinhHoc();
// gọi thuộc tính động ngoài lớp
$xuat->chieudai = 5;
// gọi thuộc tính cố định ngoài lớp
HinhHoc::anpha;
// gọi phương thức ngoài lớp
$xuat->tinhDienTich();
// gọi phương thức ngoài lớp có tham số truyền vào
$xuat->tinhChuVi(2);