`

看贴子:接口

阅读更多
http://www.iteye.com/topic/3291?page=2


1
我比较习惯于先定义接口,然后写一个抽象类类实现通用的操作,专用的操作定义为抽象方法,强制继承

类实现。这样一般的类就直接继承该抽象类,然后比较特殊的地方实现抽象方法。非常特殊的类就直接实

现接口。

我觉得这样用很方便的。

2
接口和抽象类的使用我觉得List是一个很好的诠释。
List :interface
AbstractList :Abstract  class
ArrayList :Class
如果没有List这个接口,那很多返回类型应该是ArrayList,Vector,LinkedList.但大部分人一般返回类型

为List或者Collection 这是有道理的。
类似List 这样的例子其实Java代码里面很多,robbin所说的做法也是如此。

3
有人甚至认为会使用接口可以认为Java 水平或者面向对象水平有一个标志性的提高,虽然有点偏激但或

许有一定的道理。

Robbin说得对,要理解好接口、抽象类、实体类、静态工具类的设计目的及作用,让你的程序更加容易

维护,更加容易理解,呵呵

4
jaqwolf 写道
Java代码
如果没有List这个接口,那很多返回类型应该是ArrayList,Vector,LinkedList.但大部分人一般返回类型

为List或者Collection 这是有道理的。 

如果没有List这个接口,那很多返回类型应该是ArrayList,Vector,LinkedList.但大部分人一般返回类型

为List或者Collection 这是有道理的。
能说说吗?
我并没有从心里接受使用interface设计的必要性,java中interface的存在似乎是解决了不能继承多个父

类。还有一个好处是,让oo的概念在java上体现的更清晰了,但是用起来麻烦啊--改得多,比如,我要

重命名一个接口,既要改动inteface又要改动class。

我并非说不使用,而是想知道如何合理使用。

另外,即便是返回一个ArrayList 又有什么不好呢?


我说一种情况吧,有如下一个方法
public Vector getUsers(){


}

你使用Vector 作为容器保存用户列表,后面你发现,你使用
public ArrayList getUsrs(){

}

可能更好,因为不需要线程同步,而且ArrayList 的效率比Vector高,
如果你一开始就使用下面的方法
public List getUsrs(){

}

那么改动的就只是你写的这个方法,对调用这个方法的代码是不需要修改的。
因为我的返回类型是List ,至于是ArrayList ,LinkedList,Vector,甚至是jakarta commons collection

的某些类,对外我是没有声明的。在这种情况下你认为返回ArrayList 好还是返回List好呢?

5.
动物的行为,例如:走、跑、趴等,可以定义为接口,而狗或猫具有这些行为,可以为抽象类,而具体的 class,就是具体类型的狗或猫了。
分享到:
评论

相关推荐

    phpwind8.0论坛第二版接口说明.pdf

    2. **时间模拟**:通过参数`zzmins`和`zzhours`,接口可以模拟帖子和回复的时间,使得发布的时间分布更为自然,提高论坛的真实感。 3. **标签获取**:接口能自动生成标签,参数`atc_tags`允许系统根据后台标签库...

    香哈菜谱接口文件

    根据提供的信息,我们可以了解到这是一份关于“香哈菜谱”接口文件的文档。下面将对这些接口进行详细的解析和说明。 ### 一、接口概述 #### 1. 我的菜单 (个人中心) - **接口地址**:`...

    接口测试考虑的点及用例模板.docx

    接口测试是软件测试中的一个重要环节,它主要针对应用程序接口进行验证,确保系统组件之间的通信能够正确无误地进行。在进行接口测试时,我们需要关注多个关键点,包括接口的功能性、参数组合、安全性、异常处理以及...

    discuz!x 3.0 论坛免费接口

    1. **原帖时间查询**:此功能允许用户通过接口获取帖子的创建时间,这对于统计分析、展示最新信息或者构建历史记录等功能非常有用。 2. **原帖用户信息获取**:接口可以提供原帖作者的相关信息,如用户名、注册时间...

    接口自动化使用工具-YAPI的使用文档

    例如,在一个帖子点赞的场景中,点赞接口的参数可能依赖于获取token接口的返回值。 ### 3. 测试用例录制 录制测试用例能帮助快速生成测试脚本。具体步骤包括: 1. 打开需要测试的接口。 2. 安装并启用`cross-...

    用户接口原型.pdf

    文档中的接口设计包含了请求参数和响应参数,例如活动ID、社区ID、帖子ID等参数。 将以上信息整理和归纳,我们可以得到以下知识点: 1. 安卓应用用户接口原型设计的重要性,它帮助开发者理解和实现应用中的用户...

    discuz x2.0 孤魂接口二次开发

    X2.0中,孤魂接口通常用于自动抓取网络上的新闻、文章等信息,并自动生成论坛帖子。 二次开发是指在原有接口基础上进行的定制化开发,以满足特定需求。在这个案例中,描述中提到的二次开发已经实现了标题和内容的...

    dz论坛微信接口dzapp全部版本在内,供参考学习!

    通过这个接口,论坛管理员可以实现在微信中查看论坛帖子、参与讨论、接收消息提醒等一系列操作,极大地拓宽了社区的覆盖范围,增强了用户的粘性。DZapp组件包含了实现这些功能所需的代码和配置文件,开发者可以通过...

    DiscuzToolkit接口Demo源码.zip

    Toolkit提供了丰富的API接口,涵盖了用户管理、帖子管理、板块管理、积分操作等多方面,为开发者提供了一个标准化的通信协议,方便开发者构建与Discuz!论坛兼容的应用程序。 2. **安装与配置** 在开始开发之前,...

    社交接口设计文档, 适合小白参考

    ### 社交接口设计文档分析 #### 一、概述 本文档主要介绍了一款社交博客网站的初步接口设计,旨在帮助新手快速理解社交平台后台接口的设计思路与实现方法。通过本设计文档,开发者可以了解如何构建一个具备基本...

    DZX2.0 全功能免登陆接口文件+发布模块附知道采集规则

    发布接口 随机用户随机时间发贴、回复功能,发贴和回复的用户均可自动注册、激活 支持原楼层、原贴用户名和原贴时间,原贴用户可以自动注册、激活 支持不限数量、不限扩展名的任意附件发布,简单设置,智能识别,...

    dz论坛3.x发布模块、接口,支持标题,主贴、回帖、头像,姓名,全部字段可以采集

    例如,通过调用发布接口,第三方应用可以实现用户在不离开应用的情况下发布帖子或回复,提升了交互的流畅性。 接下来,我们关注DZ论坛3.x的接口设计。这些接口涵盖了论坛的各个关键操作,包括但不限于创建新主题、...

    火车头Discuz 7.2 免登陆帖子发布接口

    2、多用户随机发布:接口支持多用户身份随机发布主题和回复,增加了发布帖子的多样性,也使得发帖行为更加难以追踪。 二、使用教程 1、文字教程部分详细介绍了使用该接口的步骤,包括: 1.1 选择网站对应的接口...

    微信小程序学习用demo:tabbar设计与接口测试;使用cnodeapi.zip

    在这个示例中,可能涉及了对cnode社区API的调用,如获取论坛帖子、用户信息等。调用API时,需要注意处理请求的生命周期,包括网络状态、数据解析、错误处理等。 压缩包内的“小程序开发平台.url”文件可能是微信...

    Dz7正式版随机用户名[图片附件]+分类+接口注册

    Dz7提供了图片附件功能,让用户可以上传图片并附在帖子中。这可能涉及到图片的上传、存储、展示以及管理。 5. **源码分析**:`Dz7正式版随机用户名[图片附件]+分类+接口注册.cwr` 文件可能包含了实现这些功能的源...

    简数采集器Discuz免登录采集发布插件接口-支持论坛和门户

    免费好用的简数采集器Discuz采集发布插件接口: 1. 支持将采集的数据发送到Discuz3.4和Discuz3.5版本系统,可以发布为discuz论坛帖子和门户文章; 2. Discuz采集发布插件接口使用需密码安全验证,安全可靠,还可以...

    腾讯对外接口API文档.docx

    腾讯对外提供的API文档是开发人员与腾讯各类服务交互的重要工具,涵盖了广泛的接口,包括微博、帐户管理、关系链管理等多个方面。以下是这些接口的主要功能和应用场景的详细说明: 1. **OAuth授权**: - `request_...

    Discuz论坛实现接口,以及结合Discuz的微信小程序.zip

    1. API设计:Discuz提供了一套基于HTTP协议的API接口,开发者可以通过这些接口获取论坛数据,如用户信息、帖子、板块等。通常,接口请求需要携带论坛的API Key和Token以验证身份。 2. 接口调用:常用接口包括用户...

    ios-仿句读(app、接口服务器).zip

    接口服务器用PrefectLib MySQL开发。比较完整的PrefectLib实例。包括用户管理(粉丝、关注)、发帖(点赞、收藏)、标签、帖子评论。基本MySQL查询、跨表查询。 完整demo可在gitee上查看。附件为PrefectLib代码 ...

    XS-bbs 基于gin + gorm + go-redis 实战,面向接口开发-XS-bbs.zip

    《XS-bbs实战:基于Gin、Gorm与Go-Redis的面向接口开发》 本文将深入探讨如何利用Gin框架、Gorm ORM以及Go-Redis库构建一个名为XS-bbs的Web应用。这个项目实战旨在展示如何进行高效的Go语言后端开发,尤其关注面向...

Global site tag (gtag.js) - Google Analytics