博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的继承
阅读量:4957 次
发布时间:2019-06-12

本文共 1215 字,大约阅读时间需要 4 分钟。

一、目标:

    清除重复代码

二、实现:

    1. 将重复代码提取出来

    2. 建立联系    extends 关键字  词义是扩展 用于继承

三、什么是父类 和子类

      被继承的类  成为父类(基类)

      继承其他类的类 成为 子类 (派生类)

四、继承的特性(重点重点)

    a) php只支持单继承 只能有一个爹

    b) php可以被多个继承 一个爹可以有多个儿子

    c) php支持多层继承  可以有祖孙关系

      B继承AC继承B ,那么C里面就有ABC三个类里面的所有内容

    d) 子类会拥有父类中的所有内容但是有部分内容无法访问(封装)

五、属性继承(重写 重构)

  1. 子类里面的属性会覆盖父类中的同名属性
  2. 访问属性的时候一定是最终结果(被子类覆盖的结果,除了私有的)
  3. 权限只能扩大 不能缩小

 

父类

子类

public

public

protected

public protected

private

public protected private

 

 六、方法继承(重写 重构)

  1. 子类里面的方法会覆盖父类中的同名方法
  2. 访问方法的时候一定是最终的结果(被子类覆盖之后的结果 除了私有的)
  3. 重写的时候 参数结构(参数个数 和参数是否有默认值)建议保持一致
  4. 权限只能扩大 不能缩小

父类

子类

public

public

protected

public protected

private

public protected private

  5.可以调用父类中的方法 需要使用范围操作符

     ::    A::say()   parent::say()

    parent 代表的是父类

    要求: 重写构造方法的时候 务必在第一行调用父类中的构造方法

七、关键字

  1. final (最终的)(掌握)

     final 可以修饰类和方法

    被修饰的类不能被继承

    被修饰的方法不能重写

   2.static

    a) 可以修饰属性和方法  不能修饰类

    b) 静态成员需要使用范围操作符来访问 A::$name 如果你访问的是静态属性一定要加上$ A::say()

    c) 静态的成员方法里面不能出现非静态内容 $this 和非静态成员

    d) 静态方法里面只能使用静态属性

   3.const

      可以在类里面定义常量

      值保留类里面的属性默认值特性

      类里面定义的常量 需要使用范围操作符类访问

      A::DB B::DB

   4.define

       不能在类里面定义常量

   5.运算符 instanceof

      判断前面的这个对象是否是后面这个类的实例

      祖辈关系都行

 

转载于:https://www.cnblogs.com/abinlulu/p/9938689.html

你可能感兴趣的文章
fedora 解决 Python.h:没有那个文件或目录 错误的方法
查看>>
百度地图点击地址后显示图标,保存到数据库之后,页面显示的是保存的坐标图标...
查看>>
学生管理系统bug report
查看>>
centos6.8下LNMP (nginx1.8.0+php5.6.10+mysql5.6.12) - 部署手册
查看>>
const和#define常量的区别
查看>>
Python之读写文本数据
查看>>
产品经理网站数据分析之测量问题现状(四)
查看>>
《简约至上 交互式设计四策略》读书总结笔记
查看>>
json与对象转换的工具集合类
查看>>
PIE(二分) 分类: 二分查找 2015-06-0...
查看>>
win8系统 host文件无法修改解决之道
查看>>
Head First Java Stick 08
查看>>
preprocessing MinMaxScaler
查看>>
转帖 eclipse Web项目WebContent目录修改
查看>>
设计模式--4、单例模式
查看>>
博客作业06--图
查看>>
MMORPG 游戏服务器端设计
查看>>
unity销毁层级物体及 NGUI 深度理解总结
查看>>
数学知识
查看>>
poj 1145 递归
查看>>