0 0

一个设计问题。接口如何调用非接口方法?或者用别的解决方式?5

 
   猫科动物
      |
老虎 ,   猫
  |       |
吃人     爬树

请问如何用“猫科动物”这个接口调用猫的“爬树”的功能。


          
  
2008年6月19日 11:30

3个答案 按时间排序 按投票排序

0 0

如果是像你例子里这么简单的结构的话,用instanceof判断一下,然后向下类型转换到实现类再调用其特定的方法就可以了。

2008年6月22日 09:38
0 0

I猫 extends IDao {   
   爬树();   
}   
I老虎 extends IDao {   
   吃人();   
}   
  
IDaoFactory {   
  I猫 build猫() {... };   
  I老虎 build老虎 () {... };   
}  

2008年6月20日 12:56
0 0

第一,你手握一只猫,这只猫肯定是一个猫科动物,你不能手握一只猫科动物然后再决定它是猫还是老虎。所以你手握的那个东西肯定不是老虎就是猫(假设猫科动物只剩下2种了)。
第二,假设你订购了一只猫科动物,你不知道它是老虎还是猫,所以你还不能判断它吃人还是爬树。等这只动物到手了,确定是猫之后,你才能调用它爬树,假设它是老虎,你也没办法让它怕小树,是吧?

所以:

if(这只猫科动物 instanceof 猫.class){
   ((猫)这只猫科动物).爬树();
}else{
   //dosomething
}

2008年6月19日 17:26

相关推荐

    适配远程接口调用的另类方法 .

    标题 "适配远程接口调用的另类方法" 指的是在软件开发中,如何通过适配器模式处理远程接口调用的问题。适配器模式是一种设计模式,它允许两个不兼容的接口之间进行通信,通常是将一个类的接口转换成客户希望的另一个...

    39_分布式系统中的接口调用如何保证顺序性?.zip

    设计接口时,可以考虑采用幂等性设计,同一个请求无论重复多少次,结果都是一样的,这样即使出现乱序,也不会影响最终状态。此外,结合业务场景,合理划分接口,避免过度依赖顺序,也是保证顺序性的一种策略。 综...

    携程外部接口调用试例

    接口调用通常指的是一个应用通过网络请求另一个应用提供的服务或功能。在携程的场景下,这可能是为了获取航班信息、酒店预订状态或旅游产品详情等。接口可以是RESTful API,通过HTTP/HTTPS协议进行通信,也可以是...

    2024全新开发API接口调用管理系统网站源码+附教程

    2024全新开发的API接口调用管理系统网站源码提供了一种高效、有序的方式来组织和控制API的使用,确保系统的稳定性和安全性。在这个系统中,layui框架的应用是一个亮点,它是一个轻量级的前端UI框架,以其简洁的代码...

    C#定时调用接口小工具.zip

    本篇文章将深入探讨标题为"C#定时调用接口小工具"的项目,它是一个基于C#编写的Winform应用程序,特别适用于服务器环境,用于定时调用API接口。此工具不仅简化了接口调用的流程,而且源码开放,用户可以根据自身需求...

    定时调用接口小工具.zip

    【定时调用接口小工具】是一个基于C#编程语言开发的Windows桌面应用程序(Winform),设计用于在服务器环境中定期执行接口调用任务。这个小工具的亮点在于它的易用性和灵活性,无需复杂的配置,即可实现定时任务,相...

    2024全新开发API接口调用管理系统网站源码 附教程.rar

    综上所述,2024全新开发的API接口调用管理系统旨在解决API接口的管理难题,提供一套完善的解决方案,使开发者能够更加专注于业务逻辑,而非接口管理的繁琐事务。layui框架的选用,使得该系统在用户体验和开发效率...

    接口设计原则和方法.docx

    例如,在某些情况下,查询会员信息的同时可能会更新会员的状态等关联数据,这种情况下可以将这些操作封装在一个接口内完成,以提高效率和减少接口间的耦合度。 4. **分析角度明确**:在设计接口时应采用统一明确的...

    VC++ 和 C# 互相调用 DLL 的 全部可行方法

    但是,当C#需要调用托管的VC++ DLL时,需要使用PInvoke(Platform Invoke)或者C++/CLI来创建一个桥接层,使C#能够访问非托管代码。 总结来说,选择哪种方法取决于项目需求、团队技能和性能考虑。COM互操作适合简单...

    行业分类-设备装置-一种接口调用方法、装置及终端.zip

    文件名“一种接口调用方法、装置及终端.pdf”暗示了文档将详细阐述这种特定的接口调用实现方式,可能包括具体的步骤、设计原则、实现细节以及可能遇到的问题和解决方案。这份资料对于开发者来说是宝贵的,可以帮助...

    webservice接口调用天气预报例程

    假设服务有一个名为`GetWeather`的方法,接受城市名称作为参数并返回天气信息,我们可以这样调用: ```csharp WeatherServiceWeatherService ws = new WeatherServiceWeatherService(); string cityName = "北京...

    根据银行账户调用阿里接口更新银行名称

    同时,系统需要设置监控,实时跟踪接口调用的成功率、响应时间等关键指标,以便及时发现并解决问题。 8. **版本管理和文档**:接口的使用需要有清晰的文档,描述如何调用、需要的参数、返回值等,便于开发者理解和...

    Java RPC调用示例

    Java RPC(Remote Procedure Call)调用是分布式系统中常见的通信方式,它允许一个程序在不关心远程系统具体实现的情况下调用另一个网络上的程序。在这个Java RPC调用示例中,我们将探讨RPC的基本概念、实现机制以及...

    调用接口的日历控件

    在网页开发中,日历控件是一种...综上所述,"调用接口的日历控件"是一个涉及前端交互设计、后端API开发、数据传输、用户体验优化等多个环节的复杂功能。正确实现这样的控件,能够极大地提升网站或应用的易用性和效率。

    接口与通信课程设计(接口通信)

    本课程设计的主题是“接口与通信”,旨在让学生深入理解这两个概念,并通过实际项目——音乐彩灯和电子琴的汇编源码实现,来提升实践能力。 接口在计算机科学中指的是两个系统或组件之间交互的机制。它可以是硬件...

    translationjs收集多种翻译接口并用同一个API调用

    3. **API设计**:定义了一个统一的调用接口,如`translate(text, sourceLang, targetLang)`,接受待翻译的文本、源语言和目标语言作为参数。 4. **错误处理**:包含了处理网络错误、服务端错误和翻译失败的情况。 5....

    科大讯飞语音android打出aar包给unity用调用语音接口.7z

    标题 "科大讯飞语音android打出aar包给unity用调用语音接口.7z" 提供的信息表明,这个压缩包包含了一个与科大讯飞语音技术相关的Android AAR库,该库是为Unity游戏引擎设计的,目的是在Unity中调用Android原生的语音...

    接口PPT接口接口接口接口接口接口接口接口接口

    在教学中,"接口(东南大学)"可能是一个课程或教材的主题,涵盖了上述内容,并可能结合实际案例和实验,让学生深入理解接口的工作原理和设计方法。通过学习这部分知识,学生能够具备解决计算机系统中硬件和软件相互...

    抽象类、反射、动态绑定、及接口的使用

    在编程世界中,抽象类、反射、动态绑定和接口是面向对象编程的重要概念,它们各自在不同的场景下发挥着关键作用。...理解并熟练掌握抽象类、反射、动态绑定和接口的使用,对于提升编程能力、解决复杂问题具有重要意义。

    监视exe调用了哪些api函数的vc++源码

    标题 "监视exe调用了哪些api函数的vc++源码" 提到的是一个关于使用VC++编程语言来实现监控可执行文件(exe)调用的API函数的功能。这通常涉及到系统级别的编程,特别是Windows API钩子技术,用于跟踪系统调用。 在...

Global site tag (gtag.js) - Google Analytics