抽象类和接口的区别与联系
2014-05-10 00:00
176 查看
这个题目是,在CVTE的笔试题中出现的,现在整理一下;
抽象类和接口的区别与联系
1、什么是抽象类?
通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
2、什么是接口?
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式,就如面向对象程序设计提供的多重抽象化。接口可能也提供某种意义上的在讲不同语言的实体之间的翻译,诸如人类与电脑之间。因为接口是一种间接手段,所以相比起直接沟通,会引致些额外负担。
3、二者的联系是什么?
抽象类表示该类中可能已经有一些方法的具体定义,但是接口就仅仅只能定义各个方法的界面(方法名,参数列表,返回类型),并不关心具体细节。
接口是引用类型的,和抽象类的相似之处有三点:
1、不能实例化;
2、包含未实现的方法声明;
3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)。
4、二者的区别:
抽象类与接口紧密相关。然而接口又比抽象类更抽象,这主要体现在它们的差别上:
1.类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
2.抽象类当中可以存在非抽象方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
3.抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。
抽象类是对象的抽象,然而接口是一种行为规范。
抽象类和接口的区别与联系
1、什么是抽象类?
通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
2、什么是接口?
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式,就如面向对象程序设计提供的多重抽象化。接口可能也提供某种意义上的在讲不同语言的实体之间的翻译,诸如人类与电脑之间。因为接口是一种间接手段,所以相比起直接沟通,会引致些额外负担。
3、二者的联系是什么?
抽象类表示该类中可能已经有一些方法的具体定义,但是接口就仅仅只能定义各个方法的界面(方法名,参数列表,返回类型),并不关心具体细节。
接口是引用类型的,和抽象类的相似之处有三点:
1、不能实例化;
2、包含未实现的方法声明;
3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)。
4、二者的区别:
抽象类与接口紧密相关。然而接口又比抽象类更抽象,这主要体现在它们的差别上:
1.类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
2.抽象类当中可以存在非抽象方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
3.抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。
抽象类是对象的抽象,然而接口是一种行为规范。
相关文章推荐
- C#中的虚方法、抽象方法、抽象类、接口的联系与区别
- 抽象类和接口的区别与联系
- 虚函数,抽象方法,抽象类,接口的区别和联系
- C++中的抽象类以及接口的区别联系
- 接口与抽象类的区别和联系
- C++中的抽象类以及接口的区别联系
- C++中的抽象类以及接口的区别联系
- 进程和线程的联系和区别 ,抽象类与接口的区别
- 抽象类和接口联系与区别
- 【JAVA】接口与抽象类的区别与联系
- C++中的抽象类以及接口的区别联系
- 抽象类和接口联系与区别
- Java中类、抽象类、接口的联系与区别
- 接口和抽象类的区别联系(一)
- 接口和抽象类的联系和区别
- 抽象类和接口联系与区别
- 接口和抽象类的区别联系(二)
- Java学习笔记 --- 抽象类和接口的区别与联系
- 【转载】抽象类和接口的联系和区别
- C++中的抽象类以及接口的区别联系