接口类和抽象类有什么区别

WBOY
發布: 2016-06-23 13:55:41
原創
885 人瀏覽過

总感觉他们两是一个东西又不是一个东西,有种混乱的感觉。


回复讨论(解决方案)

抽象类
规定了一系列的方法,并规定了必须由继承类实现的方法。由于有抽象方法的存在,所以抽象类不能实例化
可以将抽象类理解为毛坯房,门窗、墙面的样式由你自己来定
所以抽象类与作为基类的普通类的区别在于约束性更强

接口类
与抽象类很相似,表现在接口中定义的方法,必须由引用类实现
但他与抽象类的根本区别在于用途:与不同个体间沟通的规则(方法)
你要进宿舍需要有钥匙,这个钥匙就是你与宿舍的接口
你的同室也有这个接口,所以他也能进入宿舍
你用手机通话,那么手机就是你与他人交流的接口

1. 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类中可以有非抽象方法。抽象类是声明方法的存在而不去实现它的类。
2. 接口可以继承,抽象类不行。
3.接口定义方法,没有实现的代码,而抽象类可以实现部分方法。
4.接口中基本数据类型为static 而抽类象不是。
5.接口可以继承,抽象类不行。
6.可以在一个类中同时实现多个接口。
7.接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板