面向对象在PHP中是以类的形势展示的

PHP中的类是单继承的,用关键字extends来实现继承父类,

关键字public protected private 第一个是公开的 谁都可以访问,第二个只能本类内部和本子类内部访问,第三个只能类内部使用。

static关键字 表示类的静态成员变量,只和类有关,和实例无关,通常如果通过实例改变了类的静态成员变量的值,那么其他的实例的静态成员变量也会改变。

类中的变量可用$this来访问,但是静态成员用self::来访问。静态成员的方法是用类来访问实现的,和实例操作无关,静态成员包括静态属性和静态方法。

在访问静态成员属性的时候self::记得加变量符$,方法则不宜。

父类中的静态成员,在子类中操作的话使用parent::这种方法,情况和self类似。类中静态的方法里面不能访问类的普通成员属性的。

总述:1静态属性用于保存类的共有数据

2静态方法里面只能访问静态属性

3静态成员不需要实例化对象就可以访问

4类的内部可以通过self或者static关键字访问自身静态变量

5可以通过parent关键字访问父类的静态成员

6可以通过类的名称在类的外部访问静态成员

2 final关键字 适用于不能被复写的成员,在父类中写的final关键字后,其方法不能再子类中重写,如果在类前写,那么其不能有子类。

即以final关键字写的类或者方法 不能被别人修改

3 parent关键字可用于访问在子类中复写的父类的方法。self关键字可用于访问类自身的成员方法,也可以方法自身的静态成员和常量,不能访问类自身的属性,类中的

常量使用const关键字定义,使用常量的时候不需要加$符号

4interface 关键字用于定义接口,接口里面的方法不需要有方法的实现。用implements用于表示类实现一个接口,而实现一个接口之后必须提供接口中定义的方法的具体实现。

5instanceof 是一个二元操作符,是判断左侧变量是否是右侧类的实例

6 可以用extends接口继承接口,当类实现子接口时,接口定义的方法或者父接口定义的方法,也需要在类中实现。

类的方法必须有实现,接口的方法必须为空。

7 多态,多态是对于接口说的。接口只是定义了一个接口,但是实现接口的类是多种多样的,封装一个函数或者类来实现传入不同的参数,调用不同的类,然后输出不同的结果

这就是多态。

8abstract用于定义抽象类。在抽象方法前面增加abstract可以设置此方法为抽象方法,不需要具体的实现,抽象类中可以包含普通方法。

继承抽象类的关键词是extends,继承抽象类的子类需要实现抽象类中的抽象方法。抽象类和接口一样都不能直接实例化。

9关于魔术方法

__construct __destruct 分别是类的初始化执行和类结束执行的

除了以上2个外,大部分魔术方法是容错处理,就是变量或者方法不存在的时候调用,或者类不正确的方法使用才会调用这些魔术方法

__toString 是类被当做字符的时候调用

__invoke   当类被当做方法调用的时候调用

__call 当对象访问不存在的方法名称时会被调用

__callStatic 当访问对象不存在的静态方法的时候 会被调用

__get 读取不能访问的属性是被调用

__set 在给不能访问的属性赋值是被调用

__isset 当给不能访问的属性使用isset或者empty的时候 被调用

__unset 当给不能访问的属性使用unset的时候被调用

__clone 对象被复制的时候调用

温故而知新复习下PHP面向对象的更多相关文章

  1. js下的面向对象

    本文记录了一种Javascript的面向对象方法及原理理解,示例代码如下: //构造函数 var MClass = function(value1, value2) { this.member = & ...

  2. 复习下VLAN的知识

    转载:来自百度百科 VLAN一般指虚拟局域网 VLAN(Virtual Local Area Network)的中文名为"虚拟局域网". 虚拟局域网(VLAN)是一组逻辑上的设备和 ...

  3. 复习下C 链表操作(单向链表)

    Object-C 作为C 的包装语言(运行时.消息机制).如果不熟悉C 的话实在玩得太肤浅. 随便深入oc 内部都会接触到C. runtime .GCD.Block.消息机制... 所有强大的功能无不 ...

  4. 复习下 AJAX

    什么是AJAx:Asynchronous Javascript and XML中文意思:异步JavaScript 和XML批一种创建交互式网页应用的网页开发技术.AJAX优点1.Ajax 在本质上是一 ...

  5. 归纳下js面向对象的几种常见写法

    //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() 1.工厂方式 var Circle = function() { var obj = new Object(); ob ...

  6. 复习下CSS-零碎要点

    一,CSS选择器 1.  h1 > strong {color:red;}表示的是只有h1下子元素才是红色,“孙子”就不行. 2.  h1 + p {margin-top:50px;}   选择 ...

  7. 复习下C 链表操作(双向循环链表,查找循环节点)

    双向循环链表  和 单向循环链表 查找循环节点 思路都是一样. 快慢指针查找法. 理论可参考 c 链表之 快慢指针 查找循环节点 typedef struct Student_Double { ]; ...

  8. 复习下C 链表操作(双向链表)

    双向链表 创建.删除.反转.插入 //struct #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  9. 复习下C 链表操作(单向循环链表、查找循环节点)

    循环链表 稍复杂点. 肯能会有0 或 6 字型的单向循环链表.  接下来创建 单向循环链表 并 查找单向循环链表中的循环节点. 这里已6字型单向循环链表为例. //创建 循环链表 Student * ...

随机推荐

  1. Word2007:如何在竖版(纵向)页面中间插入横版(横向)页面

        通常情况下,我们在word排版过程中使用一种页面版式(横版/竖版)即可.但在某些特殊情况下,我们可能会需要在竖版页面中间插入一页或多页横版页面,抑或在横版页面中间插入竖版页面.那么,如何针对这 ...

  2. Codeforces gym101955 A【树形dp】

    LINK 有n个大号和m个小号 然后需要对这些号进行匹配,一个大号最多匹配2个小号 匹配条件是大号和小号构成了前缀关系 字符串长度不超过10 问方案数 思路 因为要构成前缀关系 所以就考虑在trie树 ...

  3. LG2044 [NOI2012]随机数生成器

    题意 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c ...

  4. android 工具类 数据库管理

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xuduzhoud/article/details/27540301 数据库工具类,优雅的管理andr ...

  5. flash TweenMax用法

    二,TweenMax主类: 这里分几个大块来介绍,分别是:第三个参数特有属性(29个),PlugIn(17个),公共属性(10个),公共方法(20个). 1,第三个参数特有属性(29个): 这29个参 ...

  6. MySQL命令行--导入导出数据库

    MySQL命令行导出数据库:   1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...

  7. tomcat catalina.out切割脚本

    shell脚本catalina.out 切割脚本...每天23.30切割.删除七天之前的日志这里3个tomcat实例(1)拷贝日志文件(2)清空日志文件*只能清空如果删除tomcat不重启不会生成新的 ...

  8. Spring Cloud 入门 之 Config 篇(六)

    原文地址:Spring Cloud 入门 之 Config 篇(六) 博客地址:http://www.extlight.com 一.前言 随着业务的扩展,为了方便开发和维护项目,我们通常会将大项目拆分 ...

  9. spring boot学习(6) SpringBoot 之事务管理

    两个操作要么同时成功,要么同时失败: 事务的一致性: 以前学ssh ssm都有事务管理service层通过applicationContext.xml配置,所有service方法都加上事务操作: 用来 ...

  10. java操作Excel之POI(6)使用POI实现使用模板批量添加数据

    action是用struts2写的:前端界面easyUI写的, 前端: <!DOCTYPE html> <html> <head> <meta charset ...