zoukankan      html  css  js  c++  java
  • php面向对象--继承

    继承
    extends 关键字来继承类
    被继承的类,我们称之为父类
    继承后的类,我们称之为子类
    子类继承父类非私有的属性和方法

    public 在本类,子类,以及类的外部都访问
    protected 保护型的属性,自己以及子类能访问
    private 私有的不能被继承,只能自己访问
    子类可以访问父类的非私有的属性和方法, 使用$this关键字访问

    覆盖:子类中声明与父类相同名称的属性和方法,
    属性被覆盖后,就无法访问父类的属性
    方法被覆盖后,依旧可以访问父类的方法 parent::方法名()

    final修饰类和方法
    被final修饰的类是不能被继承
    被final修饰的方法不能被子类覆盖

    static修饰属性和方法
    属性
    static修改的属性是可以修改的,是所有实例共享,也就是属于类,非静态的是每个对象都会保存一份不一样的
    访问:本类中使用 self::$属性名 父类中使用 parent::$属性名
    方法
    static修饰的方法,它里面只能使用静态属性和静态方法,不能使用普通的属性和普通的方法
    访问:类名::静态方法() self::静态方法()
    静态方法和属性的用途,单例设计模式:
    设计模式其实就是前人总结的一些规律
    作为对象的创建模式,单例设计模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局提供这个单例,它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用

    接口
    声明
    interface 接口名{
    //方法是不能有实现
    function 方法名();
    }
    实现接口
    class 类名 implements 接口1,接口2{
    //必须要实现接口中定义的方法,否则会报错
    }


    抽象类
    声明
    abstract class 类名{
    //抽象类当中也可以包含有实现的方法
    function 方法名(){
    //
    }
    //抽象方法不能有实现,一个抽象类中必须要有一个抽象方法
    abstract function 方法名();
    }
    使用
    class 类 extends 抽象类{
    //实现我们的抽象方法
    function 方法名(){

    }
    }

    魔术方法
    __toString 当将对象直接输出时,会调用此魔术方法,此方法返回一个字符串
    __call 当调用的方法不存在时
    __callStatic 当调用的静态方法不存在时
    __get 当访问不存在的属性
    __set 当给不存在的属性赋值时

  • 相关阅读:
    操作Redis--hash/key-value
    Coverage数据构成
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/zz-tt/p/5942884.html
Copyright © 2011-2022 走看看