Trong lập trình hướng đối tượng (OOP) PHP bạn sẽ được nghe đến Class. Vậy Class trong PHP là gì hãy cùng tìm hiểu qua bài viết này.
Class (Lớp) và Object (Đối tượng) là gì?
Một lớp là một khuôn mẫu cho các đối tượng và một đối tượng là một thể hiện của một lớp.
Khi các đối tượng riêng lẻ được tạo, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính.
Class trong PHP là gì?
Lớp (Class) được sử dụng để mô tả một phần hoặc toàn phần của một đối tượng nào đó.
Khai báo:
class Name
{
//code
}
Giả sử bạn có một giỏ trái cây với nhiều loại hoa quả khác nhau. Bạn sẽ muốn biết một số thông tin như khối lượng, màu sắc, chiều cao của một quả táo. Khi viết code chúng ta sẽ xác định theo các biến như $khoiluong, $mausac, $chieucao.
Nhưng đó mới chỉ là một đối tượng là quả táo. Vậy muốn biết các thông tin tương như cho các loại cam, xoài, dừa… thì sao?
Vậy lúc này sẽ sử dụng Class để kế thừa tất cả các thuộc tính và hành vi. Nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính.
Xác định đối tượng (Object)
Một lớp sẽ không hoạt động nếu không có đối tượng Object. Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau. Các đối tượng của một lớp được tạo bằng từ khóa new
.
Ví dụ:
<?php
class TraiCay {
// Thuộc tính
public $ten;
public $mausac;
// Phương thức
function dat_ten($ten) {
$this->ten = $ten;
}
function ten_qua() {
return $this->ten;
}
function dat_mau($mausac) {
$this->mausac = $mausac;
}
function mau_sac() {
return $this->mausac;
}
}
$tao = new TraiCay();
$tao->dat_ten('Táo');
$tao->dat_mau('Màu đỏ');
echo "Tên quả: " . $tao->ten_qua();
echo "<br>";
echo "Màu sắc: " . $tao->mau_sac();
?>
Truy xuất thuộc tính của Class
Sẽ bao gồm:
- Truy xuất trong Class sử dụng
$this
. Từ khóa $ this đề cập đến đối tượng hiện tại và chỉ có sẵn bên trong các phương thức. - Truy xuất bên ngoài lớp bằng cách thay đổi trực tiếp giá trị thuộc tính
$tao = new TraiCay();
$tao->name = “Trái Táo”;
Một ví dụ nữa:
<?php
class Laptop {
public $hanglaptop;
function dat_ten($hanglaptop) {
$this->hanglaptop = $hanglaptop;
}
function lay_ten() {
return $this->hanglaptop;
}
}
$dell = new Laptop();
$dell->dat_ten('Dell');
echo $dell->lay_ten();
echo "<br>";
?>
Qua bài viết này bạn đã thực sự hiểu được Class trong PHP là gì rồi đúng không nào. Hiểu một cách đơn giản là chúng ta sử dụng Class và kế thừa, rồi dùng các đối tượng được tạo ra từ Class đó. Bạn sẽ thường gặp Class khi sử dụng Framework Codeigniter.