PHP面向对象

Posted qq1694188561

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面向对象相关的知识,希望对你有一定的参考价值。

php面向对象

 面向对象是一种程序设计模式,简称OOP。

创建:

类:      通过关键字class来定义类 类名首字母要大写。
对象:   是类的实例 通过new关键字 得到一个实例对象 new className。

访问控制

对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。

 

   Public:添加的成员是公有的,在类内 类外 子类 都可以去访问他
   Protectd:受保护的,只能在类的里面,和子类可以访问,类的外面不能访问
   Private:私有的 只能在累的里面可以访问。
   如果成员前面没有加修饰符 默认是public

 

面向对象的三大特征:
1.封装
将数据和操作数据的方法捆绑在一起,对外隐藏,只提供可以操作的接口

 

2.继承
继承父类的方法和属性
3.多态
php是弱类型语言 没有多态这个概念 有重载
多态是强类型语言才有的

重载:是子类和父类的方法名相同子类会覆盖掉父类的方法 

析构函数:
析构函数在对象被销毁释放之前自动调用
析构函数不能带有任何的参数

继承:技术图片

 

使用extends关键字,使子类继承父类。
子类继承父类的方法实行子类都可以继承
Public 修饰的属性和方法 子类都可以继承
Protcted 修饰的属性和方法 子类都可以继承
private修饰的属性子类可以继承 private修饰的方法子类不可以继承

 

 

静态属性static:
可以修饰属性和方法,静态属性和静态方法,也叫类属性,类方法。
静态属性,静态方法,只能使用类名直接调用。
使用"类名::$静态属性" , "类名::静态方法()"。

 

静态方法中不能使用$this 关键字 $this是实例对象,而对象不能访问静态成员
$self指向类本身
类里面想操作静态成员 需要使用关键字self

const关键字:
在类中声明常量,不能是define()函数!必须使用const关键字。
与define()声明相似,const关键字声明常量不能带$,必须全部大写!
常量一旦声明,不能改变。调用时与static一样,使用类名调用Person::常量。

克隆:

php中通过关键字克隆 clone 克隆一个对象
通过关键字clone对象的时候 其实是调用类中的隐藏函数 function_clone()
如果不让类生成的实例对象被克隆 在隐藏函数function_clone前面修改访问修饰符为protected就可以了。

 

 

 

以上是关于PHP面向对象的主要内容,如果未能解决你的问题,请参考以下文章

php面向对象学习

PHP面向对象

php面向对象编程入门

什么是php面向对象及面向对象的三大特性

php面向对象

PHP面向对象