温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

抽象类和接口

发布时间:2020-08-30 22:02:07 来源:网络 阅读:428 作者:方花 栏目:web开发

一、抽象类

  1、只要包含抽象方法的类就是抽象类

  2、抽象类必须加abstract 修饰

  3、抽象类不能直接实例化

  4、抽象类必须被继承才能使用,而且还要完成里面的所有抽象方法

  5、如果有任何一个抽象方法没有被实现  那么这个类也必须是抽象类

      

    abstract class A{

    abstract public function say();

}

abstract class B extends A{

public function say(){

}

}

class C extends B{

public function say(){}

}


二、抽象方法

  1、没有方法体的方法

  2、必须使用abstract来修饰

    abstract class Animal{

abstract public function show();

}

  3、抽象方法需要被重写

  4、重写了所有抽象方法的类才算是一个完整的类,可以被实例化

三、抽象类和抽象方法的作用

 就是在企业中制定规范的作用

四、接口  作用:指定规范

  1、定义格式

  interface 接口名{

     [常量]

     [抽象方法]

    }

  

  2、特性:

    在接口里面所有方法都是抽象方法  不需要特殊修饰

    接口与接口之间 是继承关系

    类与接口之间是实现关系

    实现接口可以多实现 中间用逗号隔开

    类在继承其他类的时候 可以实现接口(多实现)继承一定要写在实现的前面

    

            //定义一个USB接口

interface USB{

//在接口里 所有的方法都是抽象方法 不需要额外修饰 不能使用普通方法

public function run();

}

//接口与接口之间是继承关系

interface ps2 extends USB{

public function move();

}

interface typeC{

public function xxx();

}

class A{}

//类与接口之间是实现关系

//实现接口可以多实现 中间用逗号隔开

//类在继承其他类的同时可以实现接口(多实现)继承一定要在实现的前面

class Mouse extends A implements ps2,typeC{

public function run(){}

public function move(){}

public function xxx(){}

}

  3、作用:制定规范使用

  4、与抽象类的差异

    单纯的用于制定规范 接口两种都可以

    在制定规范的时候要共享一些方法 只能使用抽象类

五、多态

    多态:不同的对象做相同的事情得到不同的结果

    

        class MeiZi{

           public function meet($obj){

      $obj->ber();

}

}

//制定规范

abstract class Hanzi{

abstract public function ber();

}

class DDS extends Hanzi{

public function ber(){

echo'滚';

}

}

class GFS extends Hanzi{

public function ber(){

echo'不滚';

}

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI