抽象类和接口

一、抽象类

成都创新互联公司专业为企业提供中阳网站建设、中阳做网站、中阳网站设计、中阳网站制作等企业网站建设、网页设计与制作、中阳企业网站模板建站服务,10多年中阳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

  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'不滚';

}

}


文章名称:抽象类和接口
网站URL:http://scyanting.com/article/pcdijp.html