码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类和接口

时间:2017-11-17 16:59:56      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:abstract

一、抽象类

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

}

}


抽象类和接口

标签:abstract

原文地址:http://13346331.blog.51cto.com/13336331/1982816

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!