php中接口,抽象类还有什么用,php抽象类和接口的区别

2020-11-24 10:12:30 字数 3164 阅读 6205

1楼:一骑当后

抽象的作用可不仅仅是规范**这么简单哦..........有些逻辑,不用抽象会让你的项目变成一团乱码,以至于无法完成。

初学者建议研究一下php内置的dom扩展的继承结构,这个dom扩展就是由一个domnode类为核心通过扩展,实现了对xml文档的全面操作,很有代表性,搞清楚了不仅能初步理解面向对象(大多数的php面向对象的项目没有比这个规模复杂多少),还能学精通这个扩展。

?  php未来的功能也主要以面向对象的方式提供。声明,我也是初学者,这是我学习过程的真实体会。

php抽象类和接口的区别

2楼:一骑当后

区别:1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。

2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另java接口中的成员变量都要声明为public static final类型)

3、接口没有构造函数,抽象类可以有构造函数。

4、接口中的方法默认都是public类型的,而抽象类中的方法可以使用private,protected,public来修饰。

5、一个类可以同时实现多个接口,但一个类只能继承于一个抽象类。

抽象类还是接口。

如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类。如果要创建将由一些不相关对象采用的功能,就使用接口。

如果必须从多个**继承行为,就使用接口。

如果知道所有类都会共享一个公共的行为实现,就使用抽象类,并在其中实现该行为。

php中抽象类的作用是什么?

3楼:匿名用户

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

比如,在一个图形编辑软件的分析设计过程中,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域并不是直接存在的,它就是一个抽象概念。而正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。

4楼:匿名用户

相当于制定一个规范,比如一个商场,规定必须有一个支付的方法,那我们在父类中定义一个抽象支付方法,那么继承之后就必须实现

php 什么情况用接口和抽象类

5楼:育知同创教育

php 用接口和抽象类的情况:

接口是一种协定,抽象类则相当于类模板。

使用抽象类,而不要使用接口来分离协定与实现。

如果需要提供多态层次结构的值类型,使用接口。

如果一个类型必须实现多个协定,或者协定适用于多种类型,使用接口。

虽然抽象类和接口都支持将协定与实现分离开来,但接口不能指定以后版本中的新成员,而抽象类可以根据需要添加成员以支持更多功能。

优先考虑定义类,而不是接口。

后面的问题你看明白了上面这些就有答案了,如果可以互相取代何必搞两个概念出来呢

php的抽象类,接口类的区别和选择

6楼:娴舞小魔灵

一、抽象类里面的方法可以有实现,但是接口里面的方法确是只能声明。

二、接口是设计的结果

抽象类是重构的结果

三、java不支持多重继承,所以继承抽象类只能继承一个,但是可以实现多个接口。

1 接口是核心,其定义了要做的事情,包含了许多的方法,但没有定义这些方法应该如何做。

2 如果许多类实现了某个接口,那么每个都要用**实现那些方法3 如果某一些类的实现有共通之处,则可以抽象出来一个抽象类!

php中抽象类和接口的区别

7楼:越勒

区别: 1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。

当然接口也可以通过关键字extends继承。 2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数

php接口和抽象类的区别

8楼:匿名用户

【抽象类

】抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

【接口】

接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。

接口只是一种形式,接口自身不能做任何事情。

【什么时候使用抽象类和接口】

如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。

如果你想实现多重继承,那么你必须使用接口。

如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。

php的抽象类和接口的区别

9楼:流星飞满天

接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。

接口没有构造函数,抽象类可以有构造函数。

接口中的方法默认都是public类型的,而抽象类中的方法可以使用private,protected,public来修饰。

一个类可以同时实现多个接口,但一个类只能继承于一个抽象类。

php 接口和抽象类的区别

10楼:一骑当后

他们的不同点:

1。抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!

2。一个类可以继承多个接口,而一个类只能继承一个抽象类!

3。接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!

PHP接口和抽象类的区别,php抽象类和接口的区别

1楼 匿名用户 抽象类 抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。 接口 接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。 接口只...

php中抽象类和接口的区别,java中抽象类和接口的区别?

1楼 越勒 区别 1 对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。 当然接口也可以通过关键字extends继承。 2 接口中不可以声明成员变量 包括类静态变量 ,但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数 java中抽象类和接口的区别? ...

php什么情况用接口和抽象类,java中为什么要用抽象类和接口

1楼 育知同创教育 php 用接口和抽象类的情况 接口是一种协定,抽象类则相当于类模板。 使用抽象类,而不要使用接口来分离协定与实现。 如果需要提供多态层次结构的值类型,使用接口。 如果一个类型必须实现多个协定,或者协定适用于多种类型,使用接口。 虽然抽象类和接口都支持将协定与实现分离开来,但接口不...