2016年7月

PHP中抽象类与接口

接口:

1、通过Interface来定义一个接口,通过关键字implements来使用一个接口,也可以通过关键字extends继承,接口中不可以声明变量(包括静态变量),但是可以声明常量,可以声明方法,方法都必须是public。
2、必须实现接口中定义的所用的方法,如果实现多个接口,可以用逗号来分割多个接口的名称。
3、接口中可以定义常量,接口常量和类常量的使用完全相同,他们都是定值,不能被子类或子接口修改。

抽象类:

1、php5支持抽象类和抽象方法,使用关键字abstract来声明一个抽象类或者方法。
2、抽象类不能直接被实例化,必须先继承该抽象类,然后再实例化子类,任何一个类,如果他里面至少有一个方法是被声明为抽象的,那这个类就必须被声明为抽象的,如果类方法被声明为抽象的,那么其中就不能包括具体的功能实现(通过子类继承来实现)。
3、继承一个抽象类的时候,子类必须实现抽象类中的所有的抽象方法,另外,这些方法的可见性必须和抽象类中一样(或更轻松),如果抽象类中的某个抽象方法被声明为proteected,那么子类中实现的方法应该声明为pritected或者public。

什么时候用抽象类什么时候用接口:

1、如果要建一个类模型,这个模型将由一些紧密相关的对象采用,使用抽象类。如果模型将由不太相关的对象采用,用接口。
2、如果一个具体class将从多个来源继承行为,用接口。php类可以继承多个接口,但是不能继承多个抽象类。
3、如果所有的类都要共享一个公共的行为实现,用抽象类,并在其中实现该行为。先用子类继承一个抽象类,继承后的子类能够实现原先的行为。

博客全新改版-全新开放

虽然博客已经弄了快一年时间了,但是模板总是不如我意;

今天有点时间将原来的程序直接废掉。

全新架构,全新开始;

最新文章

最近回复

  • 裤衩哥:这文章我转了,而且我还以我自己的名字发了。2333333,你来咬...
  • :怎么生成带logo的二维码呀????
  • zirmi:哎呀,你的域名爆破工具 输入的字符不够啊
  • 小余:二维码如何弄啊,哥
  • 裤衩哥:可以要你的菊花吗?
  • admin:楼上+1
  • admin:吃瓜群众 为 落魂 打call
  • :牛逼了..........
  • 帮帮:厉害!谢谢了朋友!解决了我的问题。
  • 落魂:好多小伙伴找我要这个CSS样式,其实这个是使用的一套模块!大家可...

分类

归档

友情链接