首页 > 代码库 > php面向对象(一)---2017-04-17
php面向对象(一)---2017-04-17
重点:定义类与实例化类;访问修饰符;构造函数
一、面向对象
面向对于与面向过程的主要区别在于:前者包含类和对象的概念
二、类和对象
1、类是由众多对象抽象(归纳总结)出来的东西 代表所有对象的特性
2、对象是由累实例化出来的东西 具有自己的特点 真实存在的 一切皆对象
3、定义类
class 加类名(首字母大写){}
eg:
class Ren
{
var $name; ----成员变量
var $age;
function eat() -----成员方法或函数
{
}
}
4、实例化 (因为类是抽象的,不能直接用)
$r = new Ren(); -------实例化一个人
$r ->name = "张三"; ---------调用成员变量
$r->age = 1;
$r->eat(); ---------调用成员方法
$r1 = new Ren();-------实例化第二个人
$r2 = new Ren();-------实例化第三个人
5、访问修饰符 非常重要 ( 成员变量一般都是private,成员方法一般都是public)
(1)public 公开的
class Ren
{
public $name;
public $age;
public function eat()
{
}
}
(2)protected 受保护的 只能在该类和该类的子类里访问
(3)private 私有的 只能在该类访问
class Ren
{
private $name;
private $age=2;
public function eat()
{
echo $this->age; --- this代表该对象(谁调用ear()就代表该对象);不是该类
}
}
$r = new Ren();
三、构造函数(无论写不写都存在,不写只是看不到而已)
用于初始化变量 默认为public
1、 特点
(1)写法特殊
function 类名(){} -----------以前用的,现在用也没错
function__construct(){} ------------现在用的
(2)执行时间特殊 -----------在实例化时就执行
Eg1:
class Ren
{
private $sex="男";
function __construct()
{
$this->sex;
}
public function eat()
{
}
}
$r = new Ren();
$r->eat();
Eg2:带参数
class Ren
{
private $sex;
function __construct($s)
{
$this->sex=$s;
}
public function eat()
{
}
}
$r = new Ren(“女”);
$r->eat();
php面向对象(一)---2017-04-17