做为一个php开发者,咱们都基本都习惯php相似C语言的面向过程的编程模式。以致于好多人都觉得php只能面向过程编程,今天我就来谈谈我近期学习php的吗,面向对象编程的一些总结和重要知识。php
面向对象的特性:封装,继承,多态。数据库
封装:将属性(数据)和方法(函数)打包成一个总体这个总体就叫类。编程
继承:将相同的类定义为一个通用类,而后其余想拥有该属性和方法的类去继承通用类的这些属性和方法,通用类叫父类继承的类叫子类。函数
多态:同一个方法在不一样的类中实现不一样的功能,这叫多态。学习
通俗的解释下上面三个概念:this
封装:咱们假设要煮碗泡面,去买了桶泡面你会发现买来的那桶泡面中有调料有面有桶有叉子,咱们只要将热水倒进去而后撒上各类调料盖上盖子捂上几分钟就能够食用 了。其中泡面中的调料,面,调料,叉子都是他自带的东西也就是属性,咱们加上热水而后捂上几分钟这是咱们本身选择的泡面方法,有的人还会在泡面时加上香肠 鸡蛋什么的,这个就想方法中的参数同样由你本身去加。最后经过这些一系列操做咱们完成了泡面这个事。spa
继承:这个顾名思义就是至关于父亲去世他的遗产被儿女继承,女儿就拥有父亲生前的财产和物品。code
多态:咱们在上学的时候每一个班都有学号和班内序号,咱们能够经过学号找到同窗。可是要经过班内序号找到同窗的话就必需要有对应的专业班级。对象
接下来咱们看看怎么定义一个类:blog
class ClassName{} 其中class为关键字,类的定义在class后面跟上类名加上{};
class ClassName{ public function __construct($name){ echo "我是构造方法".$name; } public function show($show){ echo "我是一个方法".$show; } public function __destruct(){ echo "我是析构方法"; } }
__construct()在PHP中这个叫作构造方法。它是在类被实例化后自动执行的一个方法(通常能够作数据库的链接等操做),能够有参数不能有返回值。
__destruct() 在PHP中这个叫作析构方法。它是在对象被销毁或者程序执行完后自动执行的一个方法,能够不能有参数。
继承一个类: class Name extends ClassName{} 继承的关键字为extends,Name是子类,ClassName是父类。
class Name extends ClassName{ //继承一个类 }
类被定义好以后咱们就可使用它来完成咱们的程序功能了,也就是类的实例化:关键字是new 类名 若是类中的构造函数有参数的话就能够加。
$obj = new ClassName('llh'); //实例化一个类
调用类中的方法:其实在实例化的时候已经自动调用了构造方法。
$obj = new ClassName('llh'); $obj->show('ym'); //调用show方法
使用类中的属性:使用$this->属性名(前提是属性的权限够)。属性名前不加$。
class ClassName{ public $a; public function __construct($name){ $this->a=$name; echo $this->a; } }
这就是我这段时间总结的PHP面向对象编程的基础知识,关于访问权限,重写,静态属性和方法的访问以及接口的问题咱们在进阶篇再讲。因为笔者能力有限,在文中不免出现错误,但愿广大读者多多交流斧正。