Xây dựng một lớp đơn giản trong ngôn ngữ lập trình PHP

a) Khai báo lớp và thể hiện của lớp trong lập trình PHP

Như chúng ta đã biết, một lớp bao gồm các kiểu thuộc tính và phương thức.
Trong PHP5, chúng ta khai báo một lớp với cú pháp như sau:

Code:
class tên-lớp
{
// Danh sách các biến, hằng, lớp… (thuộc tính)
// Danh sách các hàm (phương thức)
}

Trong đó, các lớp được khai báo thông qua từ khoá class, các thuộc tính được khai báo dưới dạng các biến, còn các phương thức được xây dựng dưới dạng các hàm.

Các thuộc tính và các phương thức trong lập trình hướng đối tượng có thể được thiết lập những tính chất đặc biệ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.

Ví dụ đơn giản dưới đây thể hiện một lớp có tên là ho-so với các thuộc tính công cộng bao gồm ho-ten, ngay-sinh:

Code:
class hoso
{
public $ho-ten;
public $ngay-sinh;
}

Đoạn mã trên mới chỉ khai báo một lớp thực thể với hai biến là $ho-ten và $ngay-sinh. Bây giờ chúng ta sẽ khai báo một thể hiện của lớp trên.

Để khai báo một thể hiện của một lớp, ta dùng từ khoá new, tiếp đó là tên lớp:
$ten_thuc_the = new ten_lop;

Để truy cập vào từng thuộc tính hay phương thức của lớp, ta dùng toán tử -> với cú pháp như sau:
$ten_thuc_the–>ten_thuoc_tinh;

Ví dụ sau đây sẽ tạo ra một thực thể của một cá nhân có tên là Hoàng:

<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 = “22/01/1992”;
echo “Họ tên: ” . $hoang->ho_ten . “. Ngày sinh: ” . $hoang->ngay_sinh;
?>
</BODY>
</HTML>

Bây giờ, chúng ta sẽ trang bị thêm một phương thức để thay đổi giá trị của các thuộc tính ho_ten và ngay_sinh. Để tham chiếu tới các phần tử trong chính bản thân lớp đối tượng, chúng ta sử dụng biến $this và toán tử tham chiếu ->, theo sau đó là tên của phương thức hoặc thuộc tính:

Code:
<HTML>
<HEAD>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
</HEAD>
<BODY>
<?
class hoso
{
public $ho_ten;
public $ngay_sinh;
public function lap_gia_tri($hoten,$ngaysinh)
{
$this->ho_ten = $hoten;
$this->ngay_sinh=$ngaysinh;
}
}
$hoang=new hoso;
$hoang->lap_gia_tri(“Nguyễn Huy Hoàng”,”22/01/1992“);
echo “Họ tên: ” . $hoang->ho_ten . “. Ngày sinh: ” . $hoang->ngay_sinh;
?>
</BODY>
</HTML>

Chú ý rằng khi khai báo một lớp, chúng ta cũng có thể thiết lập những giá trị mặc định ban đầu cho tất cả các thành viên được tạo ra từ lớp đó. Ví dụ:

Code:
<HTML>
<HEAD>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
</HEAD>
<BODY>
<?
class hoso
{
public $ho_ten = “Nguyễn Huy Hoàng”;
public $ngay_sinh = “22/01/1992“;
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 . “. Ngày sinh: ” . $hoang->ngay_sinh;
?>
</BODY>
</HTML>


FOLLOW US

Leave a Reply

Your email address will not be published. Required fields are marked *