thinking: C++的模板与Java的接口
2007-04-16 02:33
351 查看
c++图算法一书中, 首先向我们介绍了一种图的ADT ,此ADT中只包含了图的基本操作(返回顶点/边的数量,增/删边,判断两点间是否有边),而图的算法都通过ADT函数实现。ADT函数没有直接用到图作为参数,而是用了模板参数的方式传入一个图的类。
突然觉得这种方式,跟用接口有点类似:传入的参数一样需要符合一定的“契约”;
而最大的不同点在于,若用模板,被传入模板参数的类型只要含有模板函数/类中用到的成员,即可;接口则必须在定义作为参数的类的时候,显式声明实现特定接口。
联想到的问题:
若要接口实现类中包含特定内部类时,使用接口应当如何实现?(接口有必要使用内部类吗?)
接口从抽象类中分离出来,是否存在一定的使用法则?
为何书中不使用接口(c++中是纯抽象类)的方式实现统一的树接口?
突然觉得这种方式,跟用接口有点类似:传入的参数一样需要符合一定的“契约”;
而最大的不同点在于,若用模板,被传入模板参数的类型只要含有模板函数/类中用到的成员,即可;接口则必须在定义作为参数的类的时候,显式声明实现特定接口。
联想到的问题:
若要接口实现类中包含特定内部类时,使用接口应当如何实现?(接口有必要使用内部类吗?)
接口从抽象类中分离出来,是否存在一定的使用法则?
为何书中不使用接口(c++中是纯抽象类)的方式实现统一的树接口?
相关文章推荐
- Java语言基础之接口模板的应用
- C++中模板和java中泛型的区别
- JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
- 【ThinkingInC++】73、深入理解模板
- C++模板编程中的隐式接口和编译期多态
- 【Java】List接口的应用,与C++中vector应用比较 (一)
- java微信模板消息接口的使用
- java微信开发模板消息接口使用
- 写出一个二叉树类,也就是C++中的模板类,后面加一个二叉树接口口,即c++中的类模板,最后再来一个二叉树结点类
- 使用SWIG将C++接口转换成Java接口
- Java的接口和C++的虚类的相同和不同处
- Thinking in Java之Set接口、HashSet源码学习
- 2018年全国多校算法寒假训练营练习比赛(第三场)---E---题(大数阶乘(模板题)c++/java/py)
- java基础改学C++(三)函数:内置函数,函数模板,默认参数函数
- Java调用C++webservice接口
- 用 C++ 实现类似于 JAVA HttpServlet 的编程接口
- JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
- #Thinking in Java阅读笔记# 第九章 接口
- java中调用C/C++编写的生成的动态连接库dll文件接口的简单例子
- Cocos2dx引擎笔记——如何让Java和C++接口互相调用:JNI使用指南