• 对接口编程:接口和抽象类


        在《大话设计模式》这本书中,我会听到这个字眼“对接口编程”,而在文中的类图中。会提出这样一个疑问?为什么有的用的是:接口?有的用的是抽象类呢?

        本文主要介绍下面内容:接口、抽象类。

        文章的最后,会给出软考下午设计模式题中的一些做题技巧


    • 什么是接口?
        接口是包括一组虚方法的抽象类型,当中每一种方法都有其名称、參数和返回值。

    接口方法不能包括不论什么实现,CLR 同意接口能够包括事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。


        注意:一个类能够实现多个接口,当一个类继承某个接口时,它不仅要实现该接口定义的全部方法。还要实现该接口从其它接口中继承的全部方法。



    • 什么是抽象类?
        抽象类提供多个派生类共享基类的公共定义,它既能够提供抽象方法,也能够提供非抽象方法。

    抽象类不能实例化,必须通过继承由派生类实现其抽象方法,因此对抽象类不能使用new keyword,也不能被密封。假设派生类没有实现全部的抽象方法,则该派生类也必须声明为抽象类。



    • 对照分析



    • 考试秘籍

      以下从软考设计模式的做题技巧入手。提供一些參考:(以Java语言为例)

    抽象类用keywordabstract声明,用extends继承。

    抽象类的目的是定义一个框架。规定某些类必须具有的一些共性。抽象方法:没有函数体的方法

      注意包括抽象方法的类,一定是抽象类。

           抽象类的直接派生类必须实现其抽象方法。抽象类仅仅能用于继承,不能用于创建对象(所谓的new)。


    接口用keywordinterface声明,keywordimplements实现。接口用于替代多继承的概念。

      注意:直接继承了接口的类。必须实现接口中的抽象方法;间接的则能够实现,也能够不实现。


    区分:

      1、接口和抽象类都不能创建对象。

      2、抽象类不能參与多继承,抽象类能够有非静态的成员变量,能够有非抽象的方法;

      3、接口能够參与多继承。全部的属性都是静态常量。全部的方法都是public方法。


    相关阅读:
    GUI线程安全详解(二)
    如何用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.

  • 原文地址:https://www.cnblogs.com/llguanli/p/6914983.html
Copyright © 2020-2023  润新知