zoukankan      html  css  js  c++  java
  • 温故而知新复习下PHP面向对象

    面向对象在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 对象被复制的时候调用

  • 相关阅读:
    c语言分支和循环语句
    C语言基础知识
    磁盘管理-fdisk
    搭建Discuz
    KVM创建虚拟机相关操作
    WINRAR exe 捆绑 小游戏
    linux vi编辑器&文件目录管理
    灰鸽子木马的功能体验
    sqlalchemy 级联删除
    sqlalchemy 多对多
  • 原文地址:https://www.cnblogs.com/baker95935/p/6635057.html
Copyright © 2011-2022 走看看