• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php抽象类和接口知识点整理总结

    本文实例总结了php抽象类和接口相关知识点。分享给大家供大家参考,具体如下:

    抽象类(一种抽象的类)

    一、什么是抽象方法?

    定义:一个方法如果没有方法体(一个方法,不使用{},直接使用分号结束的方法,才是没有方法体的方法),则这个方法就是抽象方法。

    class Person{
      abstract function say(); 没有方法体的 、使用abstract 关键字修饰
      abstract function say(){ 这个不是、有方法体{},
    };
    }
    
    

    总结 1.声明一个方法不使用{},而直接分号结束。2.如果是抽象方法,必须使用abstract(抽象 关键字来修饰)。

    二、什么是抽象类呢?

    1.如果一个类中有一个方法是抽象的方法,这个类就是抽象类。

    2.如果声明一个抽象类,则这个类必须要使用abstract 关键字来修饰。

    abstract class Person{
      public $name;
      abstract function say();
      abstract function eat();
    }
    
    

    注意

    1.只要使用abstract 来修饰的类,就是抽象类。

    2.抽象类是一个特殊的类,特殊在哪里(在抽象类中可以有抽象方法)。

    3.除了在抽象类中可以有抽象方法以外,和正常的类完全一样。

    注意2

    1. 抽象类不能实例化对象(不能创建出对象)。

    $p=new Person(); //报错
    
    

    2. 如果看见抽象类,就必须写这个类的子类,将抽象类中的抽象方法覆盖(加上方法体)。

    class student extend Person()
    {
     function say(){  // 只覆盖了父类的一个
    }
    }
    
    

    3. 子类必须全部实现(覆盖重写)抽象方法,这个子类才能创建对象,如果实现部分,那么还有抽象方法,他还是抽象类。

    class student extend Person()
    {
     function say(){  // 只覆盖了父类的一个
    }
    }
    
    

    抽象方法作用

    1. 抽象方法就是一个规定,规定子类必须有这个方法的实现,功能交给子类实现。

    只写出来结构,没有实现,实现交给具体的子类(按自己功能实现)。

    class student extend Person()
    {
     function say(){
    }
    // 覆盖了父类两个抽象方法
    function eat(){
    }
    }
    
    

    抽象类作用

    就是要求子类的结构,所以抽象类就是一个规范。(只有形)

    接口 (接口是一种特殊抽象类,接口也是一种特殊的类 )

    接口和抽象类的相同点

    1.抽象类和接口都有抽象方法。

    2.抽象类和接口不能创建实例对象。

    3.抽象类和接口使用意义相同。定义一种规范。

    不同点

    1.接口中的方法必须全要是抽象方法(不能用不抽象的方法),所以在接口的所有方法中不使用abstract,直接使用 分号结束。

    2.接口中的成员属性,必须是常量(不能有变量)。

    3.接口所有权限必须是公有的 public

    4.声明接口 不使用class 使用 interface ,

    interface Person{
     public $name; //不能声明变量 报错
      const NAME='tom'// 可以声明常量
     function test();  //因为接口中全部是抽象方法 所以 省去 abstract 。
     function test1();
    Protect function test3() 报错 只可以是 public
    }
    $re=new Person; //报错 不可以 创建实例化 对象 。
    echo Person:: NAME; 输出常量。
    
    

    接口应用的一些细节

    1. 可以使用 extends,让一个接口继承另一个接口(接口和接口的关系---只有扩展抽象方法,没有覆盖关系)。

    2. 可以使用一个类,来实现接口中的全部方法,也可也使用一个抽象类,来实现接口的部分方法。(类与接口  或者 抽象类 与接口,有覆盖的关系,---重写---实现接口中的抽象方法)

    interface Demo{
      const NAME='tom';
     public function test();
     public function test1();
    }
    interface test extends Demo{ //接口对接口 只有扩展
     function test2();
    }
    
    

    3.只要在子类中有覆盖的动作,就不要使用extends(继承 扩展)这个关键字,使用implements 实现。

    interface Demo{
      const NAME='tom';
     public function test();
     public function test1();
    }
    interface test extends Demo{ //接口对接口 只有扩展
     function test2();
    }
    class Hello extends test{} // 报错 // 类对接口 有覆盖
    abstract class Hello implements test{
    } //不报错
    
    

    4.一个类可以在继承另一个类的同时,使用implements 实现接口(可以实现多个接口)(一定要先继承,在实现接口)。

    interface Demo{
      const NAME='tom';
      public function test();
    public function test1();
    }
    interface test extends Demo{ //接口对接口 只有扩展
     function test2();
    }
    Class Word{
    Function test5(){
    }
    }
     class Hello extends Word implements test{
    //可以使用接口
    function test(){
    }
    function test1(){
    }
    //实现接口
    function test2(){
    }
    //function test5(){
    }
    }
    
    

    5.实现多个接口,只需使用逗号分开即可。

    php 中一个类 只要一个父类 。

    interface Demo{
      const NAME='tom';
     function test1();
    }
    interface Test extends Demo{
     function test2();
    }
    class World{
     function test3();
    }
    interface Abc{
    function test6{}
    }
    class Hello extends World implements Test,Abc{
     function test1(){
    };
     function test2(){
    echo 11;
    };
     function test3(){
    };
     function test6(){
    };
    }
    $re=new Hello;
    $re->test2(); //输出 11
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • php 接口类与抽象类的实际作用
    • php接口和抽象类使用示例详解
    • 深入分析php中接口与抽象类的区别
    • PHP中抽象类、接口的区别与选择分析
    • PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
    • PHP OPP机制和模式简介(抽象类、接口和契约式编程)
    • PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
    • 浅析php中抽象类和接口的概念以及区别
    • PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
    • PHP抽象类与接口的区别详解
    • PHP中抽象类,接口功能、定义方法示例
    上一篇:使用composer 安装 laravel框架的方法图文详解
    下一篇:Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php抽象类和接口知识点整理总结 php,抽象,类和,接口,知识点,