银行有不同窗口提供服务,收费站有ETC或人工,人类社会提供的接口形式,编程语言一样适用。
不同的文件接口形态
- C/ObjC/C++使用头文件.h提供对外接口。
- 更高级的Java/C#按包为单位,用import或using引用包即可。可以不用C/C++用包含头文件的方式的根本原因在于,编译器处理了这个"类似的过程"。C++20引入了module, 概念上和Java/C#的包类似。不得不说,C++真是一门没上限的语言,它能积极引入如此多的新的有用的功能。
- Python 可使用import或from xxx import yyy [as zzz] 引入包。
其他形式的导入
- C/C++/ObjC文件包含带来不好的地方是,插入了整个头文件,如果有嵌套又会继续插入。这会增大编译器的负担。如果外部引用固定且不多,一种较好的方式是直接引入需要的结构或者类,比如ObjC用@class Point, C++用class Point.