在《大话设计模式》这本书中,我会听到这个字眼“对接口编程”,而在文中的类图中。会提出这样一个疑问?为什么有的用的是:接口?有的用的是抽象类呢?
本文主要介绍下面内容:接口、抽象类。
文章的最后,会给出软考下午设计模式题中的一些做题技巧
• 什么是接口?
接口是包括一组虚方法的抽象类型,当中每一种方法都有其名称、參数和返回值。
接口方法不能包括不论什么实现,CLR 同意接口能够包括事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。
注意:一个类能够实现多个接口,当一个类继承某个接口时,它不仅要实现该接口定义的全部方法。还要实现该接口从其它接口中继承的全部方法。
• 什么是抽象类?
抽象类提供多个派生类共享基类的公共定义,它既能够提供抽象方法,也能够提供非抽象方法。
抽象类不能实例化,必须通过继承由派生类实现其抽象方法,因此对抽象类不能使用new keyword,也不能被密封。假设派生类没有实现全部的抽象方法,则该派生类也必须声明为抽象类。
• 对照分析
• 考试秘籍
以下从软考设计模式的做题技巧入手。提供一些參考:(以Java语言为例)
抽象类用keywordabstract声明,用extends继承。
抽象类的目的是定义一个框架。规定某些类必须具有的一些共性。抽象方法:没有函数体的方法
注意:包括抽象方法的类,一定是抽象类。
抽象类的直接派生类必须实现其抽象方法。抽象类仅仅能用于继承,不能用于创建对象(所谓的new)。
接口用keywordinterface声明,keywordimplements实现。接口用于替代多继承的概念。
注意:直接继承了接口的类。必须实现接口中的抽象方法;间接的则能够实现,也能够不实现。
区分:
1、接口和抽象类都不能创建对象。
2、抽象类不能參与多继承,抽象类能够有非静态的成员变量,能够有非抽象的方法;
3、接口能够參与多继承。全部的属性都是静态常量。全部的方法都是public方法。
相关阅读:
如何用BlazeDS前后台数据交互
定制Flex菜单图标
Web App第三方组件PKDashcode&Sencha
如何用BlazeDS更改图片
GUI线程安全详解(一)
Flex Spark皮肤定制
GUI线程安全详解(三)
(C# 基础) Array ( Copy, Clone, Clear etc.)
System.ArgumentException: Destination array was not long enough.
- 最新文章
-
jQuery基础filter()和find()
poj 1338 Ugly Numbers 枚举素因子幂
poj 1925 Spiderman 动态规划
poj 1054 The Troublesome Frog 排序后暴力枚举,剪枝优化
poj 2948 Martian Mining 预处理前缀和,动态规划
poj 1191 棋盘分割 公式转换,横纵方向动态规划
poj 3280 Cheapest Palindrome 最优子结构,动态规划
poj 1322 Chocolate 概率DP
KeepCode 4 解题报告
poj 2029 Get Many Persimmon Trees 矩形内部点统计,递推动态规划