如何理解面向抽象和面向接口

问题描述

我是新手,书上的一些关于面向抽象和面向接口的程序,知道每句是什么意思,只是看完了好像还不太理解程序的结构。不知道面向抽象和面向接口要如何运用。有谁能不能指点下

解决方案

解决方案二:
这个还真不好说。。面向接口的意思是说,当你的设计中需要将一些实现方法隐藏时,就设计为接口,客户端程序员就使用你接口的某些方法去实现功能,但它完全不知道接口下的类具体怎么实现的。乱了。。接口的作用用于解耦比较多。。
解决方案三:
面向抽象???
解决方案四:
楼主可以到这看看相信会有很大帮助http://www.cnblogs.com/leoo2sk/archive/2008/04/10/1146447.html
解决方案五:
引用1楼quxiaoyong的回复:

这个还真不好说。。面向接口的意思是说,当你的设计中需要将一些实现方法隐藏时,就设计为接口,客户端程序员就使用你接口的某些方法去实现功能,但它完全不知道接口下的类具体怎么实现的。乱了。。接口的作用用于解耦比较多。。

学习
解决方案六:
来拿个分,顺便顶下
解决方案七:
引用1楼quxiaoyong的回复:

这个还真不好说。。面向接口的意思是说,当你的设计中需要将一些实现方法隐藏时,就设计为接口,客户端程序员就使用你接口的某些方法去实现功能,但它完全不知道接口下的类具体怎么实现的。乱了。。接口的作用用于解耦比较多。。

可否举一个简单的例子
解决方案八:
学习来了
解决方案九:
java中的面向抽象有两种:1.面向抽象父类2.面向接口(由于java单类继承和多接口实现机制,因此首选面向接口编程)。另外,java是运行期绑定的,这样面向抽象编程可解耦,代码量也大大减少
解决方案十:
接口就是服务的提供者与服务的调用者之间对于参数的契约
解决方案十一:
是虚函数和接口的区别是不。。
解决方案十二:
comeon!
解决方案十三:
引用8楼shangpeijie的回复:

java中的面向抽象有两种:1.面向抽象父类2.面向接口(由于java单类继承和多接口实现机制,因此首选面向接口编程)。另外,java是运行期绑定的,这样面向抽象编程可解耦,代码量也大大减少

谢谢我有点理解了
解决方案十四:
引用3楼cx1014的回复:

楼主可以到这看看相信会有很大帮助http://www.cnblogs.com/leoo2sk/archive/2008/04/10/1146447.html

很不错稍稍有点理解了
解决方案十五:
简单点来说其实话也不多:1).当你觉得超类和子类是同一种类型的事物时,超类可以为子类做一些力所能及的事情时,你就应该使用抽象类;比如图形和三角形、动物和猴子的关系!2).当你觉得超类和子类不是同一种类型的事物,子类只有根据标准去具体实现的时候,你就应该使用接口。比如MVC模型中关于数据库操作那一块,超类接口只提出CRUD的标准,子类该如何去具体实现,对于不同的数据库操作不太一样,对于其超类接口来说,你实现的过程和细节并不重要,重要的是你能给我想要的效果就OK!
解决方案:
学习了

时间: 2024-09-03 22:10:11

如何理解面向抽象和面向接口的相关文章

【spring框架】什么是面向抽象(接口)编程

面向抽象(接口)编程的好处就是灵活性 例子: 对于一个User的JavaBean,对他进行保存. 其中有这几个包 cn.edu.hpu.model:存放实体类 cn.edu.hpu.Service:存放业务类 cn.edu.hpu.Dao:存放数据库连接类 如果要实现可以结合多个数据库的功能该怎么写比较灵活?用面向抽象的思想: UserService: package cn.edu.hpu.service; import cn.edu.hpu.dao.UserDao; import cn.edu

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

1. 引言 在我之前的一篇post <抽象类和接口的谁是谁非 >中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉.同时,我将把上贴中的问题顺便也在此做以交代. 2. 概念引入       什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称.参数和返回值.接口方法不能包含任何实现,clr 允许接口可以包含事件.属性.索引器.静态方法.静态字段.静态构造函数以及

一起谈.NET技术,对抽象编程:接口和抽象类

1. 引言 在我之前的一篇post <抽象类和接口的谁是谁非 >中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉.同时,我将把上贴中的问题顺便也在此做以交代. 2. 概念引入       什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称.参数和返回值.接口方法不能包含任何实现,CLR 允许接口可以包含事件.属性.索引器.静态方法.静态字段.静态构造函数以及

(H2与HBase)面向行or面向列的存储模型?

(H2与HBase)面向行or面向列的存储模型?                                 目录   0. 示例      1. H2怎么存储pet表的记录?       1. 1 DATA_LEAF页格式       1. 2 DATA_NODE页格式      2. HBase怎么存储pet表的记录?       2. 1 Data Block格式       2. 2 Data Block如何存下面这些记录?       2. 3 leaf索引块的格式:       

Play应用商店应用将明确区分为面向手机和面向平板

摘要: 随着全世界平板设备的普及,专门针对平板设计的应用软件(而不是手机软件粗糙的放大版)越来越多.日前, 谷歌 ( 微博 )宣布,从11月21日开始,将把Play应用商店划分为面向手机和 随着全世界平板设备的普及,专门针对平板设计的应用软件(而不是手机软件粗糙的"放大版")越来越多.日前, 谷歌 ( 微博 )宣布,从11月21日开始,将把Play应用商店划分为面向手机和面向平板两大类. Play是谷歌数字内容销售的大平台,移动应用只是其中的一部分,Play也是谷歌从安卓生态系统中直接

重温设计模式(五)——我所理解的“抽象工厂”

在各位读这篇文章之前,我给大家一个提醒,我的文章也许称不上一个设计模式类的文章,只能算是自己在项目中的一个设计总结,在这里,我很欢迎大家和我一起讨论.但是同时我想说,我写博客的目的本身就是希望我的经验可以提醒他人,但是如果造成了一种相反的影响,那就违背我的初衷了,所以希望大家对我的观点思考,思考,再思考!另外,感谢Jake.NET,装配脑袋,横刀天笑等对我的鼓励. 1.代码引子 让我们由一段代码引出我们的这篇文章. 相信每个人,无论是B/S,还是C/S.都无可避免地要去和数据库打交道.那么这样的

[你必须知道的.NET] 第二回:对抽象编程:接口和抽象类

相关文章: [你必须知道的.NET] 第三回:历史纠葛:特性和属性 [你必须知道的.NET] 第四回:后来居上:class和struct 1. 引言 在我之前的一篇post<抽象类和接口的谁是谁非>中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉.同时,我将把上贴中的问题顺便也在此做以交代. 2. 概念引入 什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称

用面向对象语言进行面向过程的编程

问题描述 教研室的项目多为开发MIS,开发过程中采用结构化的开发方法(结构化的分析+结构化的设计),但是编程却采用.Net平台,使用C#语言,C#语言是一种纯的面向对象的语言呀,在定义类的时候,我们程序员都是自己根据自己的感觉去定义.这样会不会有不妥的地方呀? 解决方案 解决方案二:面向对象编程语言,本来就兼容全部面向过程编程方法.它们不是对立的,而是扩展和提升.中学生也可以学弹钢琴,而钢琴师也可以弹钢琴.它们的差别,跟钢琴没有关系.解决方案三:面向对象的语言就不可以结构化编程了?!解决方案四:

依赖注入(DI)有助于应用对象之间的解耦,而面向切面编程(AOP)有助于横切关注点与所影响的对象之间的解耦(转good)

依赖注入(DI)有助于应用对象之间的解耦,而面向切面编程(AOP)有助于横切关注点与所影响的对象之间的解耦.所谓横切关注点,即影响应用多处的功能,这些功能各个应用模块都需要,但又不是其主要关注点,常见的横切关注点有日志.事务和安全等. 将横切关注点抽离形成独立的类,即形成了切面.切面主要由切点和通知构成,通知定义了切面是什么,以及何时执行何种操作:切点定义了在何处执行通知定义的操作. http://ju.outofmemory.cn/entry/216839 引子: AOP(面向方面编程:Asp