`

软件设计---面向接口编程

 
阅读更多

                             软件设计---面向接口编程

java中面向接口编程应用十分广泛,在了解面向接口编程之前,必须先知道什么是里氏代换原则。

里氏代换原则(Liskov Substitution Principle, LSP)所有引用基类(父类)的地方必须能透明地使用其子类的对象。简单的说就是一个类可以说成是它的父类,而他的父类却不可以说成是它的子类。

举个例子:

 

//汽车接口
Interface Car{
}
//奔驰汽车
class BenChiCar implemnts Car{
}
//宝马汽车
class BaoMaiCar implemnts Car{
}

 奔驰和宝马都实现了Car接口,可以说奔驰和宝马都是汽车,而不能说汽车就是奔驰或宝马,因为还有其他品牌的汽车

 

如果想详细了解历史代换原则,可以看这篇博客http://blog.csdn.net/lovelion/article/details/7540445,写的很好,很详细

 

这些都了解后,就可以谈谈面向接口编程了,还是上面的例子

//汽车接口
Interface Car{
      void drive();
}
//奔驰汽车类
class BenChiCar implemnts Car{
      @Override
      void drive(){
           System.out.println("奔驰开动了");
      }
}
//宝马汽车类
class BaoMaiCar implemnts Car{
      @Override
      void drive(){
           System.out.println("宝马开动了");
      }
}
//测试类
class Test{
      Car car1=new BenChiCar();
      car1.drive();
      Car car2=new BaoMaCar();
      car2.drive();
}

打印出来的结果:奔驰开动了
               宝马开动了

 

这就是面对接口编程的优点。
假设还有其它类实现了接口Car:xxCar
对应的drive方法实现效果是://输出 XXCar开动了

...以此类推...

当你使用Car car = new XXCar()时,你不用关心这里的XX到底是什么类(BenChiCar,BaoMaCar,...),
也不用关心到底他们输出了什么。你只要知道,他们都实现了Car接口,即他们都实现了void drive()
这个方法。那么你都可以调用 car.drive() 来执行该方法。

 

 

 

 

 

 

分享到:
评论

相关推荐

    面向接口编程详解

    面向接口编程是一种重要的软件设计原则,它强调程序的组件应通过接口进行交互,而不是直接依赖于具体的实现。这种编程范式有助于提高代码的灵活性、可维护性和可测试性。下面我们将详细探讨面向接口编程的思想基础、...

    面向接口编程详解借鉴.pdf

    通过以上分析,我们可以看出,面向接口编程是提升软件设计质量的关键工具,它使我们的代码更加灵活、易于扩展,并能够更好地应对需求变更。在实际开发中,我们应该养成利用接口来组织和设计系统的良好习惯。

    Java语言:什么叫面向接口编程

    面向接口编程(Programming to an interface)是一种软件设计原则,强调在设计和实现软件系统时,应该依赖于抽象而不是具体实现。这种编程方式鼓励开发者编写与特定实现无关的代码,而是与定义好的接口进行交互。...

    面向接口编程(经典但无实例)

    面向接口编程(Interface Oriented Programming,IOP)是软件工程中一种重要的设计原则,尤其在面向对象编程(Object-Oriented Programming,OOP)领域内,它强调程序应该依赖于抽象而非具体实现。这种编程方式能够...

    面向接口编程 (C#)

    面向接口编程是一种软件设计策略,它强调程序组件之间的交互应基于接口而非具体实现。在C#、ASP.NET和Visual Studio的开发环境中,这种编程范式是构建可扩展、灵活和可维护的应用程序的关键。以下是对这个主题的详细...

    设计模式--可复用面向对象软件的基础

    《设计模式--可复用面向对象软件的基础》这本书由四位知名的面向对象软件设计专家共同撰写,他们是Erich Gamma博士、Richard Helm博士、Ralph Johnson博士以及John Vlissides博士。本书通过23个精心挑选的设计模式,...

    基于面向对象编程的PC-PLC以太网通信接口软件设计.pdf

    本文的文献标题为“基于面向对象编程的PC-PLC以太网通信接口软件设计”,探讨了如何利用面向对象编程(OOP)技术来设计这样一种软件接口。接下来,我们将根据文献的描述部分,详细解释这一软件设计的关键知识点。 ...

    设计模式:可复用面向对象软件的基础--详细书签版

     另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从...

    面向接口编程详解(三)——模式研究.doc

    面向接口编程是一种重要的软件设计原则,它强调程序的组件应通过接口进行交互,而不是直接依赖于具体的实现。在本文档的第三部分,作者探讨了如何在实际的模式中运用这一原则,通过分析MVC(Model-View-Controller)...

    MVC权限设计-依赖接口编程系列3

    依赖接口编程是一种面向接口编程的方式,它强调在代码中使用接口而不是具体的实现类。这样做有几个好处:第一,提高代码的可测试性,因为我们可以轻松地替换接口的实现来创建单元测试;第二,增强代码的灵活性,使得...

    面向接口详解

    面向接口编程是软件工程中的一种重要设计理念,尤其在面向对象编程中扮演着核心角色。它不仅深化了面向对象思想的应用,而且为构建更加灵活、可扩展和可维护的软件系统提供了理论依据。本文旨在深入探讨面向接口编程...

    java中的面向接口编程.doc

    在Java编程中,面向接口编程是一种重要的设计原则,它强调程序设计应关注于接口而非具体的实现。这种编程方式的核心思想是将接口作为对象间交互的契约,使得对象间的耦合度降低,提高了代码的灵活性、可扩展性和可...

    2019-2020山东大学软件学院面向对象设计与分析

    面向对象设计与分析是软件开发中的核心概念,主要涉及类、对象、继承、多态、封装等关键概念。本篇文章将详细阐述这些知识点,并结合山东大学软件学院2019-2020年面向对象设计与分析期末考试的相关题目进行解析。 1...

    《软件工程-面向对象和传统的方法》(第7版)MSG基金实例实现

    这个实例在书中被用作教学工具,展示了如何运用面向对象的设计原则和编程技术来解决实际问题。 MSG基金实例提供了C++和Java两种语言的代码实现,这使得学习者可以从两个不同的角度理解面向对象编程。C++作为静态...

    面向对象编程-选择题.pdf

    本篇文章将根据给定的“面向对象编程-选择题.pdf”文档中的题目进行分析与总结,帮助读者更好地理解面向对象编程的基本概念及其应用。 ### 面向对象编程基础知识 1. **对象**:对象是面向对象编程的基本单位,它...

    面向接口编程

    通过面向接口编程,我们可以更容易地实现模块化的设计,使得系统更加健壮且易于维护。 #### 二、接口的本质及其意义 ##### 1. 规则集合 接口可以被看作是一组规则的集合,它规定了实现该接口的类必须遵循的行为...

    软件设计本质论--面向对象.pdf

    ### 软件设计本质论——面向对象 #### 核心知识点详解 **面向对象编程(OOP)概述** 面向对象编程是一种重要的编程范式,它强调以“对象”为中心进行程序设计。对象不仅包含了数据(属性),还包含了作用于这些数据...

    面向抽象类接口编程.rar

    3. **面向接口编程**:这意味着在编写代码时,我们不直接引用具体类的对象,而是通过它们的接口进行操作。这样,即使在运行时更换具体的实现,也不会影响到整体的系统结构。 在给定的压缩包中,我们可以看到以下...

Global site tag (gtag.js) - Google Analytics