,PHP abstract抽象类定义与用法示例?

用户投稿 82 0

关于“php_class_extends”的问题,小编就整理了【2】个相关介绍“php_class_extends”的解答:

PHP abstract抽象类定义与用法示例?

PHP抽象类应用要点:

1.定义一些方法,子类必须完全实现这个抽象中所有的方法

2.不能从抽象类创建对象,它的意义在于被扩展

3.抽象类通常具有抽象方法,方法中没有大括号

PHP抽象类应用重点:

1.抽象方法不必实现具体的功能,由子类来完成

2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义

3.抽象类的方法可以有参数,也可以为空

4.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

示例:

//作用:抽象类不实现具体方法,具体方法由子类完成。

//定义抽象类 abstract

abstract class A{

//abstract 定义抽象类的方法,这里没有花括号。子类必须实现这个抽象方法。

abstract public function say();

//抽象类可以有参数

abstract public function eat($argument);

//在抽象类中可以定义普通的方法。

public function run(){

echo '这是run方法';

}

}

class B extends A{

//子类必须实现父类的抽象方法,否则是致命的错误。

public function say(){

extends和implement的用法和区别?

区别就是两者都是动词和名词但意思是不一样的,具体的不同如下

implement中文意思是n. 工具,器具;<苏格兰>履行;手段,v. 执行,贯彻;为……提供工具

He tried to implement a technocratic economic policy.

issue中文意思是n. 议题,争论点;(报纸、杂志等的)期,号;发放,分配;(新股票或邮票等的)发行;子女,后嗣;流出,发出;<旧>结果,后果v. 发表,颁布;分发,分配;正式发行;流出,发出;由……产生,由……得出

You're just avoiding the issue.

一、

extends是继承类,implements是实现接口。

类只能继承一个,接口可以实现多个。

extends继承父类的时候可以重写父类的方法,也可以调用父类的非私有方法;implements实现接口,必须实现接口的所有方法。

二、

extends后面跟的是类,表示继承关系;

如public class Dog extends Animal

implements后面跟的是接口,表示实现接口(可以是多个);

如public class Dog implements Runner

三、

继承这个可以理解为继承父类的方法,父类中的方法可以在子类中用到;

实现接口就是在接口中定义了方法,这个方法要你自己去实现,接口可以看作一个标准,比如定义了一个动物的接口,它里面有吃(eat())这个方法,你就可以实现这个方法implements,这个方法是自己写,可以是吃苹果,吃梨子,香蕉,或者其他的。IMPLEMENTS就是具体实现这个接口。

四:

implements 也是实现父类和子类之间继承关系的关键字,如类 A 继承 类 B 写成 class A implements B{}.

五:

extends, 可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。

到此,以上就是小编对于“php_class_extends”的问题就介绍到这了,希望介绍关于“php_class_extends”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!