PHP面向对象开发之类中接口的应用(interface、implements)
php类中接口的应用关键字是interface、implements了,接口是一种成员属性全部为抽象或常量的特殊抽象类,下面我们看几个实例。
类中接口的应用
1.关键字:interface
2.关键字:implements
1.接口的介绍与创建
接口:一种成员属性全部为抽象或常量的特殊抽象类。
规则:
1.类中全部为抽象方法。
2.抽象方法钱不用加abstract。
3.接口抽象方法属性为public。
4.成员属性必须为常量。
格式:
代码如下 | 复制代码 |
interface demo { function fun1(); |
2.接口的应用与规范
接口引用区别于类继承关键字 extends ,继承只能只是单一性,而接口可以使用关键字 implements 多个引用并用逗号分开
1.格式:普通类引用接口
class MyPc implements demo , demo2 , demo3 {
...
}
2.格式:抽象类应用接口例子
abstract class MyPc implements demo , demo2 , demo3 {
...
}
3.格式:继承父类引用接口并存
class MyPc extends Root implements demo , demo2 , demo3 {
...
}
先继承后接口,单继承多接口。
4.格式:接口与接口的继承
interface demo3 extends demo {
...
}
实例:
代码如下 | 复制代码 |
interface demo { interface demo2 { interface demo3 { class MyPc implements demo, demo2 { class MyPs extends MyPc implements demo3 { |
例
接口使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,且必须完全实现。
例子:
代码如下 | 复制代码 |
//定义接口 $display = new Goods(); |
运行该例子,输出:
VIP用户商品价格:80 元
该例子演示了一个 PHP 接口的简单应用。该例子中,User 接口实现用户的折扣,而在 VipUser 类里面实现了具体的折扣系数。最后商品类 Goods 根据 User 接口来实现不同的用户报价。
该例子仅限于演示 PHP 接口的用法,不涉及其科学与否。
实现多个接口
PHP也可以在继承一个类的时候同时实现多个接口:
class 子类 extends 父类 implemtns 接口1, 接口2, ...
{
......
}
抽象类和接口的区别
接口是特殊的抽象类,也可以看做是一个模型的规范。接口与抽象类大致区别如下:
1.一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
2.如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
3.抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version
Chinese version, very easy to use

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function