每天3道面试题 12/27

2016-12-28 14:52 阅读 646 次 评论 0 条

什么是低耦合和高聚合?封装原则又是什么?

低耦合是针对类与类间的关系而言,类具有单一职责,低耦合度的类不依赖其他类,从而保持其独立性。高聚合针对类中的各个职责的关联程度而言。封装原则是对类的可变性而言,应遵守开方-封闭原则,对修改封闭,对添加开放。

什么时候使用抽象类,什么时候使用接口?

抽象类(is-a)中的方法可以实现接口中的方法不能再定义时实现(like-a)。两者都不能实例化。抽象类对其子类部分课件。接口可以实现类似多重继承。因为接口一旦创建就不能改变,所以当要创建多个版本的组件时,应使用抽象类,因为通过更新基类,子类也会更新;或者希望通过基类控制子类的行为时(设计模式中),也应该使用抽象类,因为可以通过在抽象基类中添加实现,控制子类的状态。接口的原则是接口不变性(对象的定义与实现),当创建的 功能被大量不相关对象使用时,适合使用接口。

下列程序的输出结果为多少?

答案400 16 4 16 。分析在联合体内,第二个成员占14个字节,但不能整除第一个成员的对齐数为8字节,因此应在最大字节的基础上加上2等于16,所以联合体占16个字节,因此pstMax,*pstMax分别作为结构体变量和结构体指针占16个字节。*pucCharArray为一个10行10列的二维指针数组,占4*100=400个字节,pstMax是一个指针,在32位平台下,占4个字节。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:每天3道面试题 12/27 | 术与道的分享
分类:剑指Offer 标签:,
1024do.com导航_术与道导航平台

发表评论


表情