这周我们主要学习的是第六章的接口,lambda表达式和内部类,而这周我们主要学习的是接口,由于java不支持多继承,一个类只能有一个超类,为了克服单继承的缺点,我们使用了接口,接口名的命名规则与标识符的命名规则一样,在里面只能包含数据常量和抽象方法,接口分为内置接口和用户自定义接口,接口也可以像类的 ...
分类:
编程语言 时间:
2017-10-13 14:00:45
阅读次数:
142
一、C++中的对象模型 1、 概念 语言中直接支持面向对象程序设计的部分; 对于各种支持的底层实现机制。(没看懂……) 2、 类中的成员分类 a) 成员函数 i. static function ii. non static function iii. virtual function b) 数据成 ...
分类:
编程语言 时间:
2017-10-09 22:46:46
阅读次数:
311
接口 接口 1.接口可以看作是一种特殊的“抽象类”。 2.接口有比抽象类更好的特性 3.可以被多继承 4.设计和实现完全分离 5.更自然的使用多态 接口约定 1.接口表示一种约定:体现在接口名称和注释上(有些接口只有名称,方法的实现方式要通过注释来约定) 2.接口是一种能力:体现在接口的方法上 3. ...
分类:
其他好文 时间:
2017-10-09 21:03:09
阅读次数:
209
接口 为什么要使用接口? Java语言只支持单重继承,不支持多继承,即一个类只能有一个父类。但是在实际应用中,又经常使用多继承来解决问题。为了解决该问题,Java语言提供了接口来实现类的多重继承功能。 定义: //接口的声明。修饰符写不写都为public。接口名逗号隔开 [修饰符] interfac ...
分类:
其他好文 时间:
2017-10-09 15:24:19
阅读次数:
211
本章主要了解了接口。 在此前我们学习了继承,接口和继承有相似之处,所以一直好奇都有继承这个概念了,为什么还要引入接口这个概念呢? 后来发现Java不支持多继承,所以引入了接口,接口可以在任何需要该接口的地方实现类,而继承只支持单继承。 需要注意的是接口不是类,接口也可以被扩展,扩展方法:public ...
分类:
其他好文 时间:
2017-10-08 20:29:50
阅读次数:
158
在学完继承后,由于java不支持多继承,即一个类只能继承一个超类。为 了克服继承的缺点,这周我们进一步学习了接口,一个类可以实现一个或多个 接口。但是接口不是类而是对类的一组需求描述,由常量和一组抽象方法组成 我们从接口的基本概念及它的定义方式等方面学习,但是java的有些概念 及定义比较抽象难懂, ...
分类:
编程语言 时间:
2017-10-07 20:47:02
阅读次数:
134
第四章 接口 一、接口 1.接口可以看作是一种特殊的“抽象类”。 2.接口有比抽象类更好的特性 3.可以被多继承 4.设计和实现完全分离 5.更自然的使用多态 二、接口约定 1.接口表示一种约定:体现在接口名称和注释上(有些接口只有名称,方法的实现方式要通过注释来约定) 2.接口是一种能力:体现在接 ...
分类:
编程语言 时间:
2017-10-07 20:39:39
阅读次数:
180
关于C++对象的内存模型,由于各家编译器不一样导致的结果也不尽相同,所以以下测试都是基于VS 2017为准。其指针大小为4个字节,为了避免对齐带来的干扰,所有成员变量都为int类型。 1、非继承下的对象模型 首先是最为简单情况下的C++对象的内存模型,即不考虑任何继承等情况。测试代码如下: 利用VS ...
分类:
编程语言 时间:
2017-10-07 17:45:34
阅读次数:
232
参考:http://www.weixueyuan.net/view/6366.html 总结: C++中一个派生类中允许有两个及以上的基类,我们称这种情况为多继承 使用多继承可以描述事物之间的组合关系,但是如此一来也可能会增加命名冲突的可能性,冲突可能很有可能发生在基类与基类之间,基类与派生类之间。 ...
分类:
编程语言 时间:
2017-10-06 18:09:17
阅读次数:
230
由于clr不支持多继承,所以通过接口提供了“缩水版”的多继承 并且继承与派生的格式与C++也有所区别 1、在c++中,如果基类的某个函数是virtual的,则继承类中与其相同声明和名字的函数默认就是基类对应的虚函数 2、在c#中,必须在派生类的方法的前面加上override前缀,才认为是虚方法,否则 ...