Lập trình hướng đối tượng (Object Oriented Programming – OOP)
1. class&Object
class chỉ 1 cái gì đó chung chung,object là 1 cái cụ thể
bản vẽ là 1 class , ngôi nhà của tôi là 1 object
<?php
class ConNguoi
{
}
// khoi tao doi tuong
$oanh = new ConNguoi();
echo "<pre>";
var_dump($oanh);
echo "</pre>";
?>
2.thuocTinh&PhuongThuc
<?php
class Person
{
// khai bao cac thuoc tinh [propety]
public $name;
public $sex;
public $age;
public $phone;
public $address;
//khai bao cac phuong thuc
public function getName()
{
return $this->name;
}
public function setName($valueName)
{
$this->name = $valueName;
}
public function getSex()
{
return $this->sex;
}
public function setSex($valueSex)
{
$this->sex = $valueSex;
}
public function getAge()
{
return $this->age;
}
public function setAge($valueAge)
{
$this->age = $valueAge;
}
public function getPhone()
{
return $this->phone;
}
public function setPhone($setPhone)
{
$this->phone = $setPhone;
}
public function getAddress()
{
return $this->address;
}
public function setAddress($setAddress)
{
$this->address = $setAddress;
}
public function showInfo()
{
echo "<br/> Name :" .$this->getName();
echo "<br/> Sex :" .$this->getSex();
echo "<br/> Age :" . $this->getAge();
echo "<br/> Phone:". $this->getPhone();
echo "<br/> Address:" . $this->getAddress();
}
}
?>
<?php
require_once"Person.class.php";
// khoi tao doi tuong
$girl = new Person();
// truy cap doi tuong
$girl->setName("oanh");
$girl->setSex("Vo");
$girl->setAge(30);
$girl->setPhone("0972950874");
$girl->setAddress("Quang Trung - Nguyen Hue - Thong Nhat -Dong Nai");
$girl->showInfo();
echo "<hr/>";
$boy = new Person();
$boy->setName("Hien");
$boy->setSex("Chong");
$boy->setAge(30);
$boy->setPhone("09027458977");
$boy->setAddress("Thon 9 - Dinh Trang Hoa Di Linh Lam Dong ");
$boy->showInfo();
?>
3.Constructor
được gọi tự động và gọi đầu tiên khi một object được khởi tạo
phương thức khỏi tạo không tham số
phương thức khỏi tạo không tham số
4. Destructor
là phương thức tự động chạy khi đối tượng được khởi tạo được thực thi ở cuối trang mà đối tượng được tạo ra
5. kế thừa và Override
extends
6. Tinh_ke_thua_And_Overwrite_(cont)
từ khóa final
lớp con không thể Override phương thức của lớp cha nếu phương thức của lớp cha có từ khóa final
- nếu class có từ khóa final thì lớp con không extends được
7. Pham_vi_va_su_anh_huong
public : có thể truy cập được mọi nơi
private : chỉ sửa dụng được ở chính class đó
protected : chỉ sử dụng cho lớp cha và lớp kế thừa
8. Pham_vi_va_su_anh_huong_(cont) 1
từ khóa static
truy cập nhanh vào phương thức mà không cânf khởi tạo đối tượng
class::function();
9. Pham_vi_va_su_anh_huong_(cont) 2
từ khóa self và parent
self là đại diện cho cách khởi tạo lớp hiện thời và thường được dùng đến để gọi biến số có từ khóa static hay phương thức nào đó trong lớp hiện tại
parent là đại diện của lớp cha và thường được gọi đến biến sốcó khóa static hay phương thức nào đó trong lớp cha của lớp hiện tại