`

PHP中的 extends与implements 区别

 
阅读更多

1、extends 是继承某个类 
继承之后可以使用父类的方法 
也可以重写父类的方法;

2、implements 是实现多个接口 
接口的方法一般为空的 
必须重写才能使用;

 

[在interface之间也可以声明为extends(多继承)的关系。注意一个interface可以extends多个其他interface。]

 

extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 
比如 
class A extends B implements C,D,E

extends 继承类implements 实现接口

类和接口是不同的。类里是有方法的实现;而接口无方法的实现,只可以预定义方法(方法头) extends 继承类

----------------------------------------------------------------------------------------------
implements 实现接口
interface的引入是为了部分地提供多继承的功能。

类通过使用implements来实现接口。这里要注意的是一个类可以使用 implements实现多个接口,但是类实现接口必须要实现其中的抽象方法。
在interface中只需声明方法头,而将方法体留给实现接口的类来做。
这些实现的class的实例完全可以当作interface的实例来对待。

-----------------------------------------------------------------------------------------------

Java也提供继承机制﹐但还另外提供一个叫interface的概念。由于Java的继承机制只能提供单一继承(就是只能继承一种父类别)﹐所以就以 Java的interface来代替C++的多重继承。interface就是一种介面﹐规定欲沟通的两物件﹐其通讯该有的规范有哪些。如以Java程式语言的角度来看﹐Java的interface则表示:一些函数或资料成员﹐为另一些属于不同类别的物件所需共同拥有﹐则将这些函数与资料成员﹐定义在一个interface中﹐然后让所有不同类别的Java物件可以共同操作使用之。

   所以﹐对于Java的继承与interface﹐我们总结如下:

1.Java的class只能继承一个父类别(用extends关键字)﹐但可以拥有(或称实作)许多interface(用implements关键字)。 
Q5.1 extends和implements有什么不同?
答:对于class而言,extends用于(单)继承一个类(class),而implements用于实现
一个接口(interf
ace)。

分享到:
评论

相关推荐

    详解php中的implements 使用

    在PHP编程语言中,`implements` 是一个关键的语法结构,它用于实现接口(interface)。接口是一种特殊类型的类,它的所有成员都是抽象方法或者常量,不允许包含具体实现。通过 `implements` 关键字,我们可以确保一...

    PHP中关键字interface和implements详解

    关键字 `interface` 用于声明一个接口,而 `implements` 关键字则用于在类中实现这个接口。 接口的特性如下: 1. **接口中全部为抽象方法**:接口中的所有方法都是未定义的,即没有方法体。它们类似于Java或C#中的...

    20140207PHP01_PHP面向对象程序设计.pdf

    在PHP中,通过`extends`关键字实现继承。 ```php class Student extends Person { public $studentId; public function sayHello() { parent::sayHello(); // 调用父类的方法 echo " I am a student."; } } `...

    PHP接口精讲视频

    在PHP中,类通过`implements`关键字来实现接口。例如: ```php class MyClass implements MyInterface { public function sayHello() { echo "Hello, World!"; } public function doSomething($param) { // ...

    深入PHP 面向对象 模式与实践(第3版).pdf

    这些模式在《深入PHP 面向对象 模式与实践(第3版)》一书中可能被详细讨论,并以PHP语言为例演示如何在实际开发中应用这些模式。 需要注意的是,由于本书的具体内容无法从提供的文件中获得,以上的代码示例和解释...

    Object-Oriented Programming with PHP5 使用PHP5进行面向对象编程(英文版)

    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序设计中的实体(如数据和操作)封装在独立的对象中,通过对象之间的交互来实现复杂的系统功能。在PHP5中,OOP得到了显著的增强,使得...

    PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象

    在编程世界中,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域。这篇“PHP入门教程之面向对象的特性分析”...在实际项目中,结合这些概念与其他PHP特性,如封装和类型系统,可以构建出高效且可靠的软件系统。

    php5官方手册 php手册 2016年11月附注释

    2. 类与对象:在PHP5中,类定义了一组属性(变量)和方法(函数),对象是类的实例。类可以通过关键字`class`来定义,属性可以声明为公共、私有或保护,方法可以是静态的或非静态的。构造函数和析构函数用于对象的...

    PHP编程经验

    class ClassName extends ParentClass implements ArrayAccess, \Countable { // 常量、属性、类方法 } ``` 如果接口列表较长,可以将其实现分布在多行,以提高代码的可读性: ```php class ClassName extends ...

    php5 类与对象

    ### PHP5 类与对象知识点详解 #### 1. PHP 类与对象 ...以上是对 PHP5 中类与对象相关知识点的详细解释,涵盖了类的基本定义到高级特性,如继承、多态等。掌握这些知识点对于进行面向对象编程至关重要。

    PHP5面向对象开发教程第一章-PHP5面向对象基础

    在PHP5中,使用`extends`关键字实现继承: ```php class MySubClass extends MyClass { // 新增或重写属性和方法 } ``` 继承不仅有助于代码复用,还可以实现多态性(Polymorphism),即不同的对象可以对同一消息...

    php字典—php快速入门

    2. **属性与方法**:类中的变量称为属性,类中的函数称为方法。 3. **访问控制**:使用`public`、`protected`、`private`定义成员的可见性。 4. **继承**:使用`extends`关键字实现类的继承。 5. **接口**:使用`...

    PHP抽象类与接口的区别实例详解

    1. 继承与实现:抽象类使用关键字extends来继承,而接口使用关键字implements来实现。 2. 方法和属性:抽象类可以包含变量(属性)、常量和方法,接口只能定义常量和方法,不能定义变量。 3. 方法的访问控制:抽象类...

    PHP中的类详细介绍PHP中的类

    在PHP编程语言中,类是面向对象编程的基础。它们是一种构造,可以封装数据和方法,使得代码更加有组织和可重用。本篇文章将详细探讨PHP中的类,包括类的定义、属性、方法、继承、访问修饰符以及构造函数等核心概念。...

    php5面向对象教程【技术文档】

    在PHP的世界里,面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它在PHP5及更高版本中得到了显著加强。PHP5面向对象的特性为开发者提供了更加灵活和强大的代码组织方式,有助于提升...

    php面向对象初步入门教程pdf版

    在PHP中,可以使用MySQLi或PDO_MySQL扩展与MySQL数据库进行交互。这些扩展提供了连接、查询、结果处理等函数。例如,使用MySQLi创建连接: ```php $mysqli = new mysqli("localhost", "username", "password", ...

    装饰者模式 - PHP版

    class LoggingDecorator extends Decorator { public function operation() { echo "Before logging...\n"; parent::operation(); echo "After logging...\n"; } } ``` ### 使用装饰者模式 在PHP中,装饰者...

    一些PHP中常用的类源码

    PHP5引入了`__construct`作为构造函数,而在PHP4中,构造函数与类同名。 2. **访问修饰符**:PHP支持`public`、`private`和`protected`三种访问修饰符。`public`成员可以在任何地方访问,`private`只允许在类内部...

    php面向对象

    class Car extends Vehicle implements Drivable { public function move() { // implementation } public function start() { // implementation } public function stop() { // implementation } } ```...

Global site tag (gtag.js) - Google Analytics