说道抽象类和接口,什么时候使用,举例来说:
“动物”你是用接口来描述还是抽象类来描述?都可以,如果你的需求中“动物”的子类有很多共性的方法,那么你可以用抽象类来描述。如果你的需求中“动物”的子类没有共性方法,那么就用过接口定义不同的方法让子类去实现就可以了。
抽象类只是部分实现一个类,再由用户按需求对其进行不同的扩展和完善,抽象类在于复用;
接口只是定义一个/组行为的规范或约定。
抽象类对其所有子类提供通用的已实现功能;接口则是定义大范围内相互各异的对象间可共用的功能。
抽象类主要用于关系密切的类,是对那些关系密切的类的抽象,多表示概念(比如从汽车,轿车、轮船、飞机等可以抽象出一个交通工具类,交通工具只是概念,现实中并不存在一个叫交通工具的实体,它只能是具体的轿车或飞机等;再比如说水果类,它也表示一种概念,具体到现实中,只能是苹果、梨、香蕉、桔子等中的一种,所以水果类也只能抽象类)而接口适合为不相关的类提供通用功能。
抽象类主要用于设计大的功能单元;而接口主要用于设计小而简练的功能块。
例如:
Window窗体可以用抽象类来设计,可以把公有操作和属性放到一个抽象类里,让窗体和对话框继承自这个抽象类,再根据自己的需求进行扩展和完善。另外,打印操作可以作为一个接口提供给每个需要此功能的窗体,因为窗体的内容不同,就要根据他们自己的要求去实现自己的打印功能。打印时只通过接口来调用,而不用在乎是那个窗体要打印。
分享到:
相关推荐
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
本项目主要包括项目开发环境搭建、不同功能的类的设计、抽象类的设计、接口的设计、及其继承抽象类重写和接口实现类等具体功能的实现。 ●工程项目搭建与游戏初始化功能实现(2学时) ; ●动物城成员列表与动物信息...
抽象类和接口实验报告
Java中的类、抽象类和接口的区别和联系
此书对于你学习Java抽象类和接口有非常大的帮助
抽象类和接口 区别分析抽象类和接口 区别分析
在Java中,可以通过两种形式来体现OOP(Object Oriented Programming,OOP,面向对象程序设计)的抽象:接口和抽象类。 这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换...
简单介绍了抽象类和接口
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
c# 中抽象类和接口的学习
Java源代码:抽象类和接口 Java源代码:抽象类和接口
C#中抽象类和接口的区别.txt
Java实验7抽象类和接口.pdf
学习java的抽象类和接口,入门抽象类和接口必须学会这些内容
抽象类的基本概念 抽象类是Java中一种特殊的类,它不能被实例化,只能被继承。...抽象类和接口都是用于定义通用属性和方法的,但抽象类可以有构造方法,接口不能有。抽象类只能单继承,接口可以实现多继承。
Java抽象类和接口和继承之间关系 Java抽象类和接口和继承之间关系
面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解