面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程的设计思想,不是一门编程语言。同时,OOP的目的不是为了提高运行效率,而是为了提高开发效率和系统的可维护性、可扩展性、可重用性。
面向对象编程中最重要的术语是“类”和“对象”。类是对某个事物的概括定义,可以把它看作一个模板,是对事物的抽象定义(描述)。对象则是对某个事物的具体实现,可以看做依照图纸建造的具体的实际事物。为了实现面向对象的编程,我们首先要定义一个“类”,然后在实际的开发过程中,根据实际的功能需求,依据这个“类”实现出一个“对象(实例)”。
定义一个类
class human
{
protected $age;
private $face;
public function eat(){
echo "我会吃";
}
public function say(){
echo "我能说";
}
public function walk(){
echo '我会走路';
}
}
实例化一个对象
面向对象编程的基本单位就是对象,对象是根据类产生的。通过类实例化一个对象非常容易,使用关键词new即可
$xiaoli = new human();
那么该如何使用这个类呢?
上面已经实例化一个对象,那么下面就开始使用成员属性和方法:
$xiaoli->age;
$xiaoli->walk();
如何检验一个实例对象是否属于某个类的实例?
使用关键字: instanceof
echo $xiaoli instanceof human;
返回的结果是true
.
走到这里,那么应该就会有人想 : 那我要是想自己调用自身的方法呢? 这该怎么搞呢?
现在我们就应该想到一个特殊的变量: $this.
没错,就是它,一个类中的$this变量总是指向当前实例(该对象自身).因此上方的 human 类也可以这样来写:
class human
{
public function say()
{
echo $this->walk();
}
public function walk()
{
echo '我会走路';
}
}
先实例化两个对象:
$xiaomhua= new human();
$tom = new human();
也就是说当实例化$ xiaohua 时, human中的$ this 就是指$xiaohua;
当实例化$ tom 时, human中的$ this 就是指$tom;