php 抽象类 接口 区别,PHP中抽象类和接口有什么区别
PHP中抽象类和接口有什么区别
发布时间:2021-02-18 15:02:14
来源:亿速云
阅读:70
作者:Leah
这篇文章将为大家详细讲解有关PHP中抽象类和接口有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
区别:
1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。
2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另JAVA接口中的成员变量都要声明为public static final类型)<?php
abstract class Father {
function meth2() {
echo "meth2...
";
}
abstract function meth3();
public $var1="var1";
public static $var2="var2";
const Var3="Var3";
}
class Son extends Father {
function meth3() {
echo "meth3 of Son...
";
}
}
$s=new Son();
echo $s->var1."
";
echo Father::$var2."
";
echo Father::Var3."
";
Interface IFather {
//public $iVar1="iVar1"; 此处接口定义中不能包含成员变量
//public static $iVar2="iVar2"; 此处接口定义中不能包含静态变量
const iVar3="iVar3";
function iMeth2();
}
Class ISon implements IFather {
function iMeth2() {
echo "iMeth2...
";
}
}
$is=new ISon();
echo IFather::iVar3;
?>
3、接口没有构造函数,抽象类可以有构造函数。
4、接口中的方法默认都是public类型的,而抽象类中的方法可以使用private,protected,public来修饰。
5、一个类可以同时实现多个接口,但一个类只能继承于一个抽象类。
抽象类还是接口
1. 如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类。如果要创建将由一些不相关对象采用的功能,就使用接口。
2. 如果必须从多个来源继承行为,就使用接口。
3. 如果知道所有类都会共享一个公共的行为实现,就使用抽象类,并在其中实现该行为。
关于PHP中抽象类和接口有什么区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
php 抽象类 接口 区别,PHP中抽象类和接口有什么区别相关推荐
- java post和put的区别,ES 中的 POST 和 PUT 的区别
0.什么是Restful架构 比较难说清楚,这部分大雾状态,引ruanyf 理解RESTful架构 的几句总结吧: Fielding将他对互联网软件的架构原则,定名为REST,即Representat ...
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...
- python post与get的区别_python中get和post有什么区别
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...
- python __import__和import区别_Python中import 与__import__() 之间的区别比较
本篇文章给大家带来的内容是关于Python中import 与__import__() 之间的区别比较,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 首先来说一下两者的区别: impo ...
- python函数与方法的区别_python中函数和方法有哪些区别
python中函数和方法有哪些区别 发布时间:2020-11-16 09:30:04 来源:亿速云 阅读:89 作者:小新 小编给大家分享一下python中函数和方法有哪些区别,相信大部分人都还不怎么 ...
- vue获取接口数据_c#中HttpWebRequest调用接口获取数据
c#中HttpWebRequest调用接口获取数据PART 01-封装接口 将post请求进行封装,以便调用使用: /// /// 请求后台地址/// 请求参数/// public string P ...
- linux上创建loopback接口,在python中的特定接口的linux loopback接口
我试图发送一些数据到本地地址,然后使用特定的接口ppp0'转发'到外部地址.我认为我的问题与分组路由/套接字绑定问题有关,但我太多了解它的新手.在python中的特定接口的linux loopback ...
- python的元组和列表什么区别_Python 中列表和元组有哪些区别?
看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...
- java中抽象类的定义_Java中抽象类的定义和使用
Java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础.指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类是 ...
最新文章
- k3 物料收发明细表sql_物料管理:班组长物料使用应知应会4件事
- Tower-web 0.3.1/2 发布,类型完善和修复更新
- 01丨数据结构:快速的Redis有哪些慢操作
- Pandas索引操作及高级索引——reindex()方法
- 维信诺全柔AMOLED产线启用 对“加入华为供应链”一事避而不谈
- Qt多线程间信号槽传递非QObject类型对象的参数
- JavaScript中prompt的使用
- 怎样配置VSS2005中文版服务器和客户端
- springBoot搭配java小爬虫 获取百词斩单词释义
- HTML5网页设计盒子模型-内容+padding+boder+margin
- 买了个新主机,从0开始配电脑(持续更新ing)
- 个人承接微信H5制作设计,需要的联系我
- python处理word_Python操作word手册
- GUI 界面的免费音乐下载 支持批量下载
- 盘点一下国内智能巡检机器人TOP5
- 爬取东方财富网的部分股票信息(2)
- zabbix-proxy分布式监控站点
- ppt里面怎么打破折号
- 常用邮箱导出eml文件
- 小白如何快速入门软件测试