面向协议编程是什么意思,Java语言深入讨论什么叫面向接口编程

1 , Java语言深入讨论什么叫面向接口编程首先,JAVA是一种完全面向对象的语言!像C和C++ , 只不过它们分别是面向过程的和不完全面向对象的语言!而伪编程语言并不是一种真正的语言!它是在数据结构和算法设计等课程中借助一种具体的语言(比如C、C++或JAVA)来阐述其思想,旨在表达出解决一类问题的逻辑 。但有些问题过于抽象或复杂,抑或是问题的某一局部对全局来说不太重要,这就导致了无法或不方便用完整的程序来讲述,于是就用我们的自然语言加上一些专业符号来描述 , 让你明白整个问题的解决方案是怎么回事就行了!因为解决方案往往是针对一类特殊的问题 。至于某些细节的实现,就要你去自己解决了!
2,面向对象编程什么意思C语言是面向过程的,就是你解决问题的思路是按照定义数据,对数据一步步处理的过程,数据和方法(数据处理函数)是分开的 。C++ JAVA等是面向对象的,对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体 。面向对象编程将数据和方法封装在一个整体(类)里面,通过定义一个类,将一系列具有相同抽象概念的事物的共同特性概括起来,并在类中定义对数据的处理方法 。其实你现在不必刻意知道什么叫面向对象,你只要随着学习的深入会慢慢理解的 。面向过程基本就是在黑框里面做,面向对象可以做有界面的东东
3,面向对象编程是什么意思面向对象编程(Object Oriented Programming , OOP,面向对象程序设计)是一种计算机编程架构 。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成 。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性 。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息 。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递 。通过这些概念面向对象的思想得到了具体的体现 。1)对象(Object) 可以对其做事情的一些东西 。一个对象有状态、行为和标识三种属性 。2)类(class) 一个共享相同结构和行为的对象的集合 。类(Class)定义了一件事物的抽象特点 。通常来说,类定义了事物的属性和它可以做到的(它的行为) 。举例来说,“狗”这个类会包含狗的一切基础特征,例如它的孕育、毛皮颜色和吠叫的能力 。类可以为程序提供模版和结构 。一个类的方法和属性被称为“成员” 。3)封装(encapsulation): 第一层意思:将数据和操作捆绑在一起,创造出一个新的类型的过程 。第二层意思:将接口与实现分离的过程 。4)继承 类之间的关系,在这种关系中,一个类共享了一个或多个其他类定义的结构和行为 。继承描述了类之间的“是一种”关系 。子类可以对基类的行为进行扩展、覆盖、重定义 。5)组合 既是类之间的关系也是对象之间的关系 。在这种关系中一个对象或者类包含了其他的对象和类 。组合描述了“有”关系 。6)多态 类型理论中的一个概念 , 一个名称可以表示很多不同类的对象,这些类和一个共同超类有关 。因此,这个名称表示的任何对象可以以不同的方式响应一些共同的操作集合 。7)动态绑定 也称动态类型,指的是一个对象或者表达式的类型直到运行时才确定 。通常由编译器插入特殊代码来实现 。与之对立的是静态类型 。8)静态绑定 也称静态类型,指的是一个对象或者表达式的类型在编译时确定 。9)消息传递 指的是一个对象调用了另一个对象的方法(或者称为成员函数) 。10)方法 也称为成员函数 , 是指对象上的操作 , 作为类声明的一部分来定义 。方法定义了可以对一个对象执行那些操作 。【面向协议编程是什么意思,Java语言深入讨论什么叫面向接口编程】
4,Java语言深入究竟什么叫面向接口编程在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的 。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键 。小到不同类之间的通信,大到各模块之间的交互 , 在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容 。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等 。Booch先生那天谈到Interaction Designer , 它就是指做这类设计的人 , 只不过层次更高一些 。我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一 。1.关于接口的理解 。接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离 。我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦 。接口的本身反映了系统设计人员对系统的抽象理解 。接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);第二类是对一个体某一方面的抽象 , 即形成一个抽象面(interface);一个体有可能有多个抽象面 。抽象体与抽象面是有区别的 。2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和 。任何接口都是在一定的环境中产生的 。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义 。3.按照组件的开发模型(3C),它们三者相辅相成,各司一面 , 浑然一体 , 缺一不可 。面向对象是指 , 我们考虑问题时 , 以对象为单位 , 考虑它的属性及方法面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题我认为:UML里面所说的interface是协议的另一种说法 。并不是指com的interface,CORBA的interface,Java的interface,Delphi的interface,人机界面的interface或NIC的interface 。所以我认为,面向interface编程,原意是指面向抽象协议编程 , 实现者在实现时要严格按协议来办 。也就是Bill Joy同志说的 , 一边翻rfc , 一边写代码的意思 。面向对象编程是指面向抽象和具象 。抽象和具象是矛盾的统一体,不可能只有抽象没有具象 。一般懂得抽象的人都明白这个道理 。但有的人只知具象却不知抽象为何物 。所以只有interface没有实现,或只有实现而没有interface者是没有用的,反OO的 。在一个面向对象的系统中,系统的各种功能就由许许多多的不同对象协作完成的

    推荐阅读