20200404_面向对象的基本特征
清明节,愿妈妈在天堂一切安好。
一、相关术语
- 面向对象
传统解决问题的方式,是面向过程的,比如计算1+1=2,输入1和1,得出结果2。但是这种解决问题的方法有局限性,就是它不能描述行为,例如大雁南飞,公司的内部结构组成等等。
于是就有了面向对象的思想,这种思想主张一切事物要以对象来思考问题,首先将一件事情抽象成对象,然后考虑这个对象具备的属性和行为。
二、笔试题
1、一道关于联合的题目的输出。
union
{
int i;
char x[2];
}a;
void main()
{
a.x[0]=10;
a.x[1]=1;
printf("%d", a.i);
}
答:266。低位低地址,高位高地址,内存占用情况为0x010A。
2、关于“关联”、“聚合”、“组合”之间的区别。
答:(一)关联是表示两个类的一般性联系,例如“学生”和“老师”。
(二)聚合表示has-a的关系,相对松散。
(三)组合表示contains-a的关系,关联性强于聚合。
3、描述面向对象的基本特征。
答:(一)封装,将客观事物抽象成类,每个类对自身的数据和方法实行保护(public,protect,private)。
(二)继承:广义的继承有三种实现形式:实现继承、可视继承、接口继承。
实现继承是指使用基类的属性和方法,无需额外编码。
可视继承是指子窗体使用父窗体的外观和实现代码。
接口继承是指仅使用属性和方法,实现滞后到子类去实现。
(三)多态:允许将子类类型的指针赋值给父类类型的指针。
知识扩展
面向对象与面向过程的区别。
本文归类
建议归类到【C++】。
明日计划
1、重载和重写的区别。
2、多态的作用。
3、ado与ado.net的相同与不同。
参考文献:
《C++笔试面试宝典2011版.docx》
《Java从入门到精通》(第4版) 7.1 面向对象概述。
深入剖析多态
今日收藏:
无。