Welcome to

Mr.Xiong

Home / PHP / 面向对象之抽象类与接口的区别

面向对象之抽象类与接口的区别

在学习 PHP 面向对象时,都会在抽象类与接口上迷惑,作用差不多为什么还那么容易混淆,何不留一去一?但是事实上两者的区别还是很大的,如果能够很好地运用 PHP 的两个方法,面向对象的程序设计将会更加合理、清晰高效。

抽象类

顾名思义,很抽象就是不具体,不能实例化成具体的实例,可以理解成类的模板,做基础类,一般情况下你用不到。应用场景:比如多国语言,定义一个抽象类,各国语言都继承这个抽象类来开发自己的语言。

接口

接口类说白了就是类的规范;如果你属于这类,你就必须遵循我的规定,少一个都不行,但是具体你怎么去做,我不管,那是你的事。接口内的方法有个几个参数,类里面的方法也必须是几个参数。

两者区别

接口只能 implements 实现,抽象类 extends 继承实现;

接口没有数据成员,可以定义常量,抽象类可以有;

接口没有构造函数,抽象类可以定义构造函数;

接口方法都是 public 修饰,抽象类方法可以 protected private public 来修饰;

一个类可以实现多个接 ,但只能继承一个抽象类;

接口中不可以有成员方法,抽象类可以有成员方法。
Finally,谢谢大家的阅读!祝每天开心~
版权声明:本文为博主原创文章,未经博主允许不得转载。

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

雄心勃勃但谦卑温逊!

>> <<