首页 > 其他 > 详细

面向对象基础知识总结

时间:2015-06-23 01:00:15      阅读:197      评论:0      收藏:0      [点我收藏+]

封装的优点

良好的封装能够减少耦合。

类内部的实现可以自由地修改。

类具有清晰的对外接口。

 

继承

子类拥有父类非private的属性和功能。

子类具有自己的属性和功能(扩展)。

子类可以以自己的方式实现父类的功能(重写)。

注:C#中子类可以继承父类的方法、域、属性、事件和索引器。

 

继承的优点

共享代码、避免重复。

使得修改或扩展继承而来的实现都较为容易。

 

继承的缺点

父类变,子类不得不变。

继承会破坏封装,父类的实现细节会暴露给子类。

 

多态

子类以父类的身份出现。

子类在工作时以自己的方式来实现。

子类以父类的身份出现时,子类特有的属性和方法不可以使用。

注:C#中存在虚拟方法,虚拟属性,虚拟事件和虚拟索引器的概念,但不存在虚拟字段的概念。

 

抽象类

抽象类不能被实例化。

抽象方法必须被子类重写。

如果类中包含抽象方法,那么类就必须定义为抽象类。

 

接口

接口不能被实例化,不能有构造方法和字段。

不能有修饰符。

接口中不能包含虚拟的或者静态的成员。

接口可以包含方法、属性、事件和索引器。

实现接口的类,必须实现接口中的所有方法和属性。

 

抽象类和接口的区别

抽象类可以包含一些成员的实现,接口却不能包含成员的实现,抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现。

一个类只能继承一个抽象类,但可以实现多个接口。

类是对对象的抽象抽象类是对类的抽象接口是对行为的抽象。

如果行为跨越不同类的对象,可以使用接口;对于一些相似的类对象,可以使用继承抽象类。

抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类;而接口是根本不知道子类的存在,方法如何实现还不确认,预先定义。

 

面向对象基础知识总结

原文:http://blog.csdn.net/yl2isoft/article/details/46595181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!