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

2020-11-22 18:12:11 字数 3369 阅读 2445

1楼:越勒

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

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

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

2楼:匿名用户

java中对的抽象类和接口对的区别:

抽象类:

抽象类内允许有普通变量和普通方法;

抽象类必须有abstract关键字;

抽象类内可以没有抽象方法,但不能实例化;

抽象类内有抽象方法的一定是抽象类;

抽象类不能被实例化,但是有构造方法(派生类可以扩展)。

接口:接口只声明,没有方法体,如:public abstract void func();

接口内定义的变量都默认是public static final ,必须被显示初始化;

接口没有构造方法,不能实例化;

实现接口的类要实现所有的抽象方法,否则该类就必须声明为抽象类,加上 abstract关键字;

.接口不可以实现接口,所有接口都是抽象方法,但是接口支持多继承。

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

3楼:好程序员

区别:

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

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

abstractclassfather

abstractfunctionmeth2();

public$var1="var1";

publicstatic$var2="var2";

constvar3="var3";

}classsonextendsfather

}$s=newson();

echo$s->var1."

";echofather::$var2."

";echofather::var3."

";inte***ceifather

classisonimplementsifather

}$is=newison();

echoifather::ivar3;

?>

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

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

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

抽象类还是接口:

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

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

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

php抽象类和接口的区别

4楼:一骑当后

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

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

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

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

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

抽象类还是接口。

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

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

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

php为什么要引入接口类,抽象类

5楼:匿名用户

去看接口类,抽象类的定义

6楼:匿名用户

其实抽象类和接口类有一部分很像,记得在**看见这样一句话,抽象类就把类像的部分抽出来,这句看上去很搞笑,其实它说出了抽象类的真理,抽象类的作用是

你发现你的很多类里面用很多方法你不断的在重复写,那你就可以考虑使用抽象类了,你可能会说“我不是可以重写一个类每个公共类我个实例化一个这个公共类,调用相同的方法就可以了”,这里是可以,实际上抽象类做的工作也就是这个,不过他省去了你实例化的这个步骤,让你就像直接调用本类方法一样方便,而且你还可以重载这个方法。

7楼:匿名用户

能使程序解耦,便于后期维护更新。

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

8楼:娴舞小魔灵

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

二、接口是设计的结果

抽象类是重构的结果

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

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

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

php 接口和抽象类的区别

9楼:一骑当后

他们的不同点:

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

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

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

php抽象类和接口的区别

10楼:匿名用户

抽象类中可以包含方法的实现,接口中的方法只能是方法的声明。

php 抽象类和接口的区别

11楼:只为你守候

对接口的使用方式是通过关键字implements来实现的,而

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

1楼 匿名用户 java中对的抽象类和接口对的区别 抽象类 抽象类内允许有普通变量和普通方法 抽象类必须有abstract关键字 抽象类内可以没有抽象方法,但不能实例化 抽象类内有抽象方法的一定是抽象类 抽象类不能被实例化,但是有构造方法 派生类可以扩展 。 接口 接口只声明,没有方法体,如 pub...

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

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

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

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