zoukankan      html  css  js  c++  java
  • PHP面向对象的特点

    1)继承

    关键字:extends   (子类 extends 父类)

    目的:减少代码的重复量(继承可大大减少我们代码中的重复

    继承特征:

    默认父类Animal中的属性和行为都被子类继承下来,可以不用再次去声明

    PHP是一个单继承,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。

    子类不能继承父类的私有属性和私有方法。

    PHP5中类的方法可以被继承,类的构造函数也可被继承

    继承只能有且也只有一个父类

    Parent:该关键字,意思为父母,在这里指代的是当前类的父类对象

    2)封装

    ①定义:封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节。

    ②优点:信息隐蔽,封装即隐藏

    ③封装的原则:在软件上,要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染”,使软件错误能够局部化,大大减少查错和拍错的难度。

    ④目的:

    隐藏一个类的实现细节

    防止对封装数据的未经授权的访问,使用者只能通过实现定制好的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理操作。

    有利于保证数据的完整性

    有利于对数据的保护

    (3)多态

    ①抽象:就是无法确切的说明,但又有一定的概念或者名称

    抽象类:使用抽象关键字修饰的类,就叫做抽象类。

    关键字:abstract

    特点:

    抽象类不能被实例化

    抽象类不一定需要有抽象方法,但是包含抽象方法的类必须是抽象类

    抽象方法:

    abstract class Animal

    {
         public abstract function shout();
    }

    使用abstract修饰的函数方法称为抽象方法

    抽象方法只有函数的声明部分,不包含实现部分,且要用分号代表结束

    继承了带有抽象方法的类必须实现抽象方法的定义

    ②接口

    接口是抽象方法和静态常量定义的集合

    接口是一种特殊的抽象类,这种抽象类只包含抽象方法和静态常量,没有其他类型

    注:在接口中的抽象方法只能是public,默认也是public。不能是protectedprivate

    接口通常都是一组功能的集合

    interface Ifly

    {
         public function fly();
    }

    在接口中的函数都是公共的抽象函数方法,这些函数不能添加abstract关键字,同时也可以省略public

    实现接口: implements

    实现了某个接口,那么必须实现接口中的所有的抽象方法

    一个类可以实现多个接口

  • 相关阅读:
    一部感天动地的自学编码之旅
    c++初学
    imooc-c++学习感悟
    第二次实践作业
    大一下学期的自我目标(要求包含对大一上学期的总结、对面向对象课程完成后学习到的能力的预期,对面向对象课程的期望、对编程和专业能力的愿景规划)
    面向对象程序设计 ——第二次作业(2)
    面向对象程序设计 ——第二次作业(1)
    面向对象程序设计 ——第一次作业
    面对对象程序设计第二次作业2
    面对对象程序设计第二次作业
  • 原文地址:https://www.cnblogs.com/lxy1023-/p/7190641.html
Copyright © 2011-2022 走看看