php中多重继承,PHP面向对象之多重继承与接口用法
介绍接口之前,我们要知道,为什么要使用接口,这里向大家介绍一下。
那为什么要使用接口呢?
计算机语言中,只有少数的面向对象支持多重继承,我们所学习的PHP语言和大多数语言一样,并不支持多重继承。说白了就是一个父类可以有多个子类,但是子类只能有一个父类。
什么又是多重继承呢?
多重继承就是一个子类,继承了两个或多个父类,就是多重继承,在PHP中是不被允许的。如果要在PHP中实现多重继承功能,那么,我们就要用到接口。接口可以看成是解决多重继承的方法,PHP的面向对象的接口和其他面向对象语言接口类似。
接口类的语法介绍:
接口类是通过interface关键字来声明,并且类中只能包含未实现的方法和一些成员变量,格式如下:interface InterfaceName{
function interfaceName1(){
}
function interfaceName2(){
}
}
注意:
不要用public以外的关键字来修饰接口中的类成员,对于方法,不写关键字也是可以的。这是由接口类自身的属性决定的。
子类的语法介绍:
子类是通过inplements关键字来实现接口的,如果要实现多个接口,那么每个接口之间应该使用逗号隔开。且接口类中所有未实现的方法需要在子类中全部实现,否则会出现致命错误。
子类定义格式:class SubClass implements InterfaceName1, InterfaceName2{
function InterfaceName1(){
}
function InterfaceName2(){
}
}
关于接口类实例:<?php
header("content-type:text/html;charset=utf-8");
interface A{ //创建接口
function a();
}
interface B{
function b();
}
class Php implements A{
function a()
{
echo 'php中文网';
}
}
class Html implements A , B{
function a()
{
echo 'PHP中文网是免费网站';
}
function b()
{
echo 'PHP中文网网址是www.php.cn';
}
}
$php = new Php();
$html = new html();
$php ->a();
echo '
';
$html ->a();
$html ->b();
接口类中所有未实现的方法需要在子类中全部实现,否则会出现致命错误。大家可以亲自尝试一下部分实现接口中的类,看看会不会出现致命错误。
php中多重继承,PHP面向对象之多重继承与接口用法相关推荐
- php中命名空间、面向对象、访问控制、接口
命名空间: php中命名空间:解决自己编写的代码和php内置及第三方的函数.常量.类命名冲突问题(在不同的命名空间可以定义相同名称的常量.类.函数):及为繁琐的命名创建一个别名,具体如下: //1.简 ...
- JavaScript中的的面向对象中的一些知识
JavaScript中的的面向对象中的一些知识 function Cat(name,age){return {name:name,age:age }}//构造函数function Dog(name,a ...
- python中什么叫类、什么叫对象_python中的类面向对象的基本概念!
一.概述 今天我们讲述Python中的类&面向对象的基本概念. 首先我们为什么要学习面向对象,我讲一个故事,应该就可以明白了.在古时候,官府衙门如果要颁布什么告示就会去找工匠将命令中的字都雕刻 ...
- 在Objective-C中浅谈面向对象
接触面向对象也有一段时间了,当时是通过C++学习的OOP,后来又接触到了PHP和Java.每种OOP的语言在面向对象上或多或少都会有不同的地方,现在在学习OC的面向对象部分,又感觉到OC面向对象的特点 ...
- python中的多态用法_Python面向对象之多态原理与用法案例分析
本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...
- python中的继承有什么特点_Python中 什么是面向对象-继承和多态
文字有点长,对于不想看文字的朋友,可以去这里看视频,内容和这个文字一样的,视频可能更好理解 https://www.piqizhu.com/v/zaX9K4pd4GE 上一篇文章<python教 ...
- 面向过程中模拟出面向对象,用c语言模拟出MFC控件,消息循环,“设计用户界面”
大家好,今天给大家分享"怎样用c模拟出MFC控件 简单模拟出消息循环,按钮控件",面向过程中模拟出面向对象. 编程思路 首先用绘图库EasyX绘制窗口,窗口中绘制按钮,把按钮对象化 ...
- 为什么有人说面向对象编程就是面向接口编程?
"面向对象编程就是面向接口编程" 这句话相信, 很多人都在网上见过, 装b利器. 我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了. 首先, 我认为这句话是1个假命题. ...
- python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...
本文实例讲述了Python面向对象程序设计构造函数和析构函数用法.分享给大家供大家参考,具体如下: 构造函数和析构函数 1.构造方法的使用 很多类都倾向于将对象创建为有初始化状态.因此类可以定义一个名 ...
最新文章
- phpstudy更改但是php版本没变
- 通过一道题目来理解互斥和同步
- Count Complete Tree Nodes
- ASP.NET 2.0 中的资源与本地化
- flask的ajax的csrf代码
- Zabbix监控多个JVM进程
- Installation error code: -103签名不一致错误
- 为什么不能在SSH(Secure Shell)登录中设置ulimit值?
- Err:error occurred at recursive SQL level 1
- Java WebSocket生命周期
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .
- python 验证码
- python音乐推荐系统_音乐推荐系统
- 互联网原创表情论坛举行 探索设计师盈利新生态
- big O notation - 大 O 表示法
- c#录音和放音,超简单!不用DirectX
- Jedis scan及其count的值
- 一键获取网易互娱内推攻略,快人一步拿offer!
- 安卓系统双屏异显_Android10模拟器上调试双屏异显
- PS新手淘宝美工常见问题-主图和详情尺寸(一)
热门文章
- Oracle 19c 新特性:Schema Only Account详解
- 在Vue中使用JSX,很easy的
- 技术实践:教你用Python搭建gRPC服务
- Python基础语法和数据类型最全总结
- 伯克利:serverless是下一代计算范式
- 【华为云技术分享】华为专家亲述:如何转型搞 AI?
- 【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!
- webservice的css哪里添加,XML+XSLT+CSS+JQuery+WebService组建Asp.Net网站
- 解决Ubuntu系统终端运行python文件报错“ImportError/ModuleNotFoundError:No Module named xx”
- python人工智能github的一些跑程序技巧(持续更新~)