文档章节

PHP中接口和抽象类的方法

c
 chenhongjiang
发布于 06/17 10:15
字数 304
阅读 5
收藏 0
PHP

直接上代码

interface   Api{
    public function  index();
    public function  index2();
}

class A implements  Api{
    /**
     * {@inheritDoc}
     * @see Api::index()
     */
    public function index()
    {
        echo "实现子类方法index<Br/>";
        
    }
    /**
     * {@inheritDoc}
     * @see Api::index2()
     */
    public function index2()
    {
        echo "实现子类方法index2<br/>";
        
    }
}
//接口必须要实现所有的方法
$a = new A();
$a->index();
$a->index2();
echo "<hr>";

//抽象父类
abstract  class B{
    //子类必须实现的抽象方法
    public  abstract  function  index();
    //子类可以选择重写父类,也可以不用重写
    public     function  index2(){
        echo  "父类的B_index2<br/>";
    }
}
class B_S extends B{
    /**
     * {@inheritDoc}
     * @see B::B_index()
     */
    public function index()
    {
        echo "实现父类的方法B_index<br/>";
    }
    public  function  index2(){
        
        echo "重写父类的index2方法";
    }
}
$b_s = new B_S();
$b_s->index();
$b_s->index2();
-------------------------------------------------------------------------------------------------------

以下是java代码 基本和php 类继承是一样的

public abstract class BaseController {

    protected IModeChangeListener mListener;

    public void setIModeChangeListener(IModeChangeListener listener) {
        mListener=listener;
    }
    
    /**
     * @param action  一个页面可能有多个网络请求,用来区别这些请求的
     * @param values 请求的数据
     */
    public void sendAsyncMessage(final int action,final Object... values){
        new Thread(){
            public void run() {
                handleMessage(action, values);
            }
        }.start();
    }
    
    /**
     * 子类处理具体的需求的业务代码
     */
    protected abstract void handleMessage(int action,Object... values);
    

}

© 著作权归作者所有

c
粉丝 3
博文 59
码字总数 39918
作品 0
朝阳
私信 提问
php中抽象类和接口的区别

先看官方文档中的定义: 抽象类: PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定...

daos
2017/11/01
0
0
PHP 方法覆盖override 与 抽象方法的实现之间的关系

Overload重载:重载是多态的基础,是方法名相同但根据参数不同做不同的处理,PHP是弱类型语言,不能直观的实现方法重载 Override覆盖:覆盖是子类继承父类方法并对齐进行重新构造,方法名相同...

big_cat
2015/09/13
397
0
PHP中关于面向对象程序设计的相关简介

PHP面向对象程序设计 面向对象的程序设计(Object Oriented Programming) 一、面向对象程序设计的概念 PHP引进的面向对象的设计方法,将数据及处理数据的相应函数“封装”到一个“类(class...

PXZ6603
2018/06/26
0
0
PHP简明教程-面向对象基础 2

PHP简明教程 面向对象基础 2 其他的几个魔术方法 方法名 触发时机 参数1 参数2 备注 callStatic 当调用不存在的静态方法的时候自动执行这个方法 函数名 参数(数组) 该方法必须是static slee...

栗子boomboomboom
2017/07/03
0
0
PHP中关于面向对象程序设计的相关简介

PHP面向对象程序设计 面向对象的程序设计(Object Oriented Programming) 一、面向对象程序设计的概念 PHP引进的面向对象的设计方法,将数据及处理数据的相应函数“封装”到一个“类(class...

PXZ6603
2016/08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据科学热潮下的冷思考:什么才是最需要的技能?

全文共3087字,预计学习时长6分钟 图片来源:pexels.com/@freestocks 数据科学已经进入了稳定生产的成熟期,数据科学家所需的技能也在与时俱进。不仅是追求更高效的机器学习模型,在当下,推...

读芯术
21分钟前
2
0
48.Nginx访问日志 日志切割 静态文件不记录

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 12.10 Nginx访问日志: ~1.日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format log_format com...

oschina130111
25分钟前
1
0
好程序员分享Css详解bem书写规范

  好程序员分享Css详解bem书写规范,bem是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由B...

好程序员IT
30分钟前
3
0
基于cm+cdh搭建大数据集群

第一部分:搭建基本环境 1、网络配置 vim /etc/sysconfig/network-scripts/ifcfg-ens32 service network restart vim /etc/hosts 192.168.15.121 node1 192.168.15.122 node2 192.168.15.123......

一个点一个点
38分钟前
0
0
[学]ngin反向代理搭建与配置

Nginx安装地址:https://www.cnblogs.com/wyd168/p/6636529.html (linux) 必须安装的4个包: nginx-1.1.10.tar.gz openssl-1.0.1t.tar.gz pcre-8.39.tar.gz zlib-1.2.11.tar.gz ng配置主要......

覃光林
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部