Tìm hiểu lớp, thuộc tính, phương thức trong lập trình hướng đối tượng. Như bạn đã biết ở bài viết trước mình đã có giới thiệu qua khái niệm, tính chất, ưu điểm của lập trình hướng đối tượng nếu bạn chưa biết hay vẫn còn mơ hồ về chúng thì có thể tham khảo bài viết lập trình hướng đối tượng là gì bài trước của mình nhé. Ở bài này chúng ta cùng tìm hiểu sau về lớp phương thức, thuộc tính cách truy cập hay khởi tạo nó thế nào nhé.

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

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

– Ví dụ về lớp HinhHoc


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

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

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


class ClassName
{
   function methodName()
   {
     //code
   }
}

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


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é


function tinhChuvi($rong)

{
  //code
}

Khởi tạo lớp

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


new ClassName;

hoặc

new ClassName();

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


$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


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


     $variable = new ClassName();

     $variable->propertyName;

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


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:


$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


$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é


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

Tagged:

Tác giả

Thanh Chính

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *