1,类的创建  class

    

2,对象的创建  new关键字

    

3,成员的添加  修饰符

    添加成员需要三个修饰符

    public  公开的

         定义公共的属性和方法,类的外部,内部,子类都可以使用

    protected  受保护的

          定义受保护的属性和方法,只能在类的内部,子类使用

    private  私有的

         定义私有的属性和方法,只能在自身的类使用

    成员如果前面不加修饰符,默认public

4,成员的调用  —〉

      

5,特殊对象  $this

    $this指向实例化对象,如果类的方法里想使用类的属性和方法,需使用$this

      

6,构造方法  function __construct()

    构造函数在实例的时候系统会自动调用

      

7,析构方法 function __destruct()

    我们每次new实例化,系统就会给这个对象分配一个内存空间,

    如果不销毁,系统压力会很大,系统有一个析构方法 __destruct 对象实例化之后系统会自动调用。

    内存销毁的原则是先进后销。

      

8,成员赋值

    

9,继承

    

10,常量  const

    可以把在类始终保持不变的定义为常量,在定义时不带$

    使用常量时不能用$this,使用范围解析符(类名、self):: 常量

      

    子类想访问父类的常量,使用parent::常量

      

11,静态变量  static

    静态属性可以通过一个类已实例化的对象来访问

    访问方法:类名::$变量名

      

12,重载 覆盖  final

    子类继承父类的方法时,如果子类有和父类同名的方法,从父类那继承来的方法就会被覆盖,这叫重载

    如果在父类的前面加上final,则子类无法重载父类的方法,会报错

      

13,调用父类的构造方法  parent ::construct()

    PHP不会再子类的构造方法中自动调用父类的构造方法,

    要执行父类的构造方法,需要在子类的构造方法中调用parent ::construct()

      

14,对象克隆  clone

    赋值一模一样的对象,但是二者不是同一个对象,指的不是同一个内存地址

      

15,关键字   parent

    在继承中的子类,有这个parent

    访问父类的常量,父类的方法,父类的静态属性,属性成员不能访问

      

16,关键字  final-不可重载的

    如果写在类前面,代表这个类不能被继承

    如果写在类的方法和属性前面,说明这个方法,属性不能被重载

      

17,抽象类  abstract

    如果项目经理需要对所有的子类进行规范,就是说成员必须有,且必须有那些名字,就得使用抽象类概念

    1,抽象类不能被实例化

    2,如果有一个类里面有一个方法被声明为抽象类了,这个类就得声明为抽象类

    3,只要这个方法被声明为抽象方法了,就不能写函数体,将函数后面的{}去掉,函数体由子类实现

    4,在继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,不是抽象方法,子类不可以去定义

      

  接口  interface

    用于和抽象类差不多,为了一些规范

    1,使用interface关键字定义接口,接口在方法都是空的,没有函数体

    2,接口中所以方法都是public

    3,使用implements这个操作符

    4,一个类可以实现多个接口,接口与接口之间要用逗号隔开

    5,接口和接口之间方法尽量不要重名,如果重名了,那么参数要保持一致

      

  抽象类和接口的区别:

    1,接口使用implements 而抽象类使用extends 实现

    2,接口中只能申明公有的方法  抽象类属性  常量 方法 都可以申明

    3,接口没有构造函数 抽象类有

    4,接口可以实现多个接口 但是抽象类只能继承一个

18,面向对象三大特征

    封装----

      对外只是提供可操作的接口(指方法),对内的数据操作不可见

    继承---

      子类可以继承父类的属性和方法,但是有限继承,

      public protected private 修饰的属性可以继承 protected public 修饰的方法 子类可以继承

      父类的常量也可以继承。

    多态---

      php没有多态,因为php是弱类型语言,不会对变量提前进行类型申明,但是有重载

      重载---父类和子类 方法相同 子类会覆盖父类的方法

PHP之面向对象(下)的更多相关文章

  1. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  2. Java学习笔记(面向对象下)

    面向对象(下) 类的继承 类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类,子类会自动拥有父类所有可继承的属性和方法.(用extends关键字)   //定义A ...

  3. Python 面向对象(下)

    本篇博客承接自Python 面向对象(上) 四. 继承,实现,依赖,关联,聚合,组合 Python面向对象--继承,实现,依赖,关联,聚合,组合 五. 特殊成员 Python面向对象--类的特殊成员 ...

  4. Python之路第八天,基础(9)-面向对象(下)

    类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...

  5. java面向对象下:JavaXML解析技术

    20.JavaXML解析技术: XML概述:        XML可扩展标记性语言,用于数据表达和数据传递. XML语法规则:        合法DTDXML:1.内部DTD(和XML一起):2.外部 ...

  6. js面向对象 下

    // 声明对象的方法 一  (通过常量直接赋值) var xiaoming = {//声明一个对象(直接通过一个常量xiaoming用{}赋值的方式声明) name: '小明', //对象的一个属性 ...

  7. Java编程基础-面向对象(下)

    一.抽象类 1.引入:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的.Java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用 ...

  8. java面向对象(下)-抽象类

    抽象类和抽象方法 抽象类和抽象方法必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法 抽象类和抽象方法的规则如下 1.抽象类和抽象方法必须要用abstra ...

  9. python面向对象(下)

    继承 继承描述了基类的属性如何"遗传"给派生类.一个子类可以继承它的基类的任何属性,不管是数据属性还是方法.创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需 ...

随机推荐

  1. 15、iptables详解

    --     http://www.netfilter.org/ http://www.iptables.org/     --参考路径 http://www.netfilter.org/docume ...

  2. requests---自动写博客

    前两天写过一个关于session的博客,session登录过后,可以进行一系列的操作,今天通过模拟登录博客园,自动写博客 自动写博客 我们先理下书写的思路: 1.通过request访问博客园: 2.通 ...

  3. src和href 如何做好seo 前端页面有那三层 AMD和CMD 规范的区别 渐进增强

    1==>简述一下src与href的区别 src用于替换当前元素: href用于在当前文档和引用资源之间确立联系 2==>.谈谈以前端角度出发做好SEO需要考虑什么? a. 了解搜索引擎如何 ...

  4. linux open 黄色文件

    表示设备文件 生成的新的pdf

  5. VC 静态库与动态库(一)介绍

    定义: 静态库与动态库都属于库,库从本质上来说就是种代码重用的方式. 把需要重复使用的公共代码抽离出来,生成库文件,外部程序只需包含库文件,调用相关接口即可 静态库与动态库区别: 静态库:需要库的.h ...

  6. 09-tensorflow-tf.split()

    # 'value' is a tensor with shape [5, 30] # Split 'value' into 3 tensors with sizes [4, 15, 11] along ...

  7. SLAM:暑期学校

    专门开个(大)坑: RGB-D SLAM:姜翰青,商汤 视觉SLAM:章国锋,浙大CAD&CG国家重点实验室

  8. NOIP 2012 Vigenère 密码

    洛谷 P1079 Vigenère 密码 https://www.luogu.org/problemnew/show/P1079 JDOJ 1779: [NOIP2012]Vigenèr密码 D1 T ...

  9. jsp中for-each应用(遍历数据相乘再相加)

  10. 总线宽度VS总线带宽

    很多人把计算机总线宽度和总线带宽混为一谈,其实他们是不一样的. 总线宽度:总线宽度一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数,影响吞吐量,即下面说的总线位宽. 总线带宽:总线的带宽指 ...