基础概念===============================================================================
一、类与对象关系:
1、类实例化对象
2、类诞生对象
3、类生产出对象
二、类的组成部分:
1、属性(变量)
2、方法(函数)
三、定义一个类:
1、使用关键字class
2、命名采用驼峰法
3、造对象并调用属性和方法
例:
<?php class Person{ public $name; public $age; public function __construct($n,$a){ //构造方法 $this->name = $n; $this->age = $a; } public function say(){ echo "my name is {$this->name},my age is {$this->age};"; } public function __destruct(){
//析构方法 echo "<br>清空"; } } $Per1 = new Person("张三",18); echo $Per1->name."<br>"; echo $Per1->age."<br>"; $Per1->say(); ?>
四、$this作用:永远代表本对象
五、构造方法:public function __construct(){}
对象在诞生之前会触发
六、析构方法:public function __destruct(){}
对象在消失之前会触发
面向对象的三大特性================================================================================
一、封装:在一个类内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,类对内部数据提供了不
同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
1、封装的概念:隐藏属性、方法或实现细节的过程称为封装
2、类的封装修饰词:
(1)、public:公开的(类外面可以访问,子类可以访问,父类可以访问)
(2)、protected:被保护的(类外面不能访问,子类可以访问,父类可以访问)
(3)、private:私有的(类外面不能访问,子类不能访问,父类可以访问)
3、类的封装作用:
(1)、部分方法要对外开放.
(2)、部分方法要对外封锁.
二、继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展
1、继承的关键字:extends
2、对父类构造方法的继承
3、子类完成继承后,自动继承父类的属性和方法
三、多态:一个类实例的相同方法在不同情形有不同表现形式。
抽象类=======================================================================================
一、关键字abstract
二、含有抽象方法的类是抽象类
三、抽象方法:未被实现的方法(abstract public function unload();)
四、子类中必须实现父类的抽象方法,否则报错
接口=========================================================================================
一、关键字interface
二、只含有抽象方法、不能含有普通方法
三、子类中必须实现接口的所有的抽象方法,否则报错
四、子类不能用extends继承,用implements实现接口
五、接口中的方法都是抽象方法,不能加abstract
六、一个子类可以实现多个接口
七、接口扩展,即一个子接口继承父类接口所有的抽象方法