php 中的抽象类和接口的区别

今天和同事谈到了一个类的写法,提到了抽象类,突然有点懵逼,啥叫抽象类,干什么的,忘的一干二净。赶紧查了查资料看了看。

抽象类

抽象类也就是在php中用abstract来修饰的类。主要特性有以下几个方面
1.抽象类不可以实例化,如果要使用抽象类的方法,需要继承或者用类似静态方法调用的方式调用 类名::方法名称
2.抽象类的抽象方法也就是abstrcat来修饰的方法,在继承的过程中需要实现
3.抽象类中可以有方法体,在继承的过程中可以不用实现
4.抽象类的方法必须是可以继承的,不能为private,因为抽象类不能被实例化

接口

接口类在php代码中用interface来修饰的类,接口的特性有以下几个方面
1.接口中只定义方法名称,不实现具体的方法
2.实现(继承)接口的类必须实现所有接口定义的方法
3.一个类可以实现(继承)多个接口,一般用implement
4.接口定义的方法必须是public

区别

1.类只能继承一个抽象类,但是可以实现多个接口
2. 接口中不能定义变量,但是可以定义常量 通过接口名称::常量名称来调用,抽象类可以定义变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值