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