抽象和接口
来源:互联网 发布:师洋淘宝一年赚 编辑:程序博客网 时间:2024/06/08 05:12
昨晚挑灯夜战收获真的不少,不但理解了重载和重写,对抽象和接口的认识也豁然开朗,让我把自己的小喜悦和大家分享下吧。
先说抽象,抽象类有三个要求:1.抽象类不能实例化,比如大家可以知道“猫”长什么样,“狗”长什么样,却无法表达出他们的抽象类“动物”长什么样;2.抽象方法必须被子类重写,通过重写实现多态,但不明白抽象方法abstract和虚方法virtual有什么不同;3.如果类中包含抽象方法,那么类必须定义为抽象类。
抽象方法一般用于重构,比如我们实现了“猫”和“狗”这两个类,发现他们有很多相同的地方,比如都会跑,都会叫,都能吃东西。如果在每个类中依次实现,代码就显得有些冗余,此时我们可以从全局出发,生成一个抽象类“动物”,在“动物”中抽象出它们的共同特性,这样在子类重写父类即可,减少了代码的重复。它使用于两个相关的类之间的抽象。
再说接口,它从局部出发,使用于两个不相关的类之间的实现。比如“超人”和“孙悟空”都会飞,可他们没什么共同特性呀。这时我们可以声明一个“飞”的接口:
Interface IFly{ Void Fly();}
在“超人”和“孙悟空”中分别实现“飞”这个接口,这样就能解决上述问题了。
- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口 和 抽象 ,static
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- “黑暗面程序员”Io概念
- 一年中的第几天
- Lucene相关介绍(一)
- 其实我真是觉得我应该写一篇总结来总结一下自己的生活的了
- 四个数的最大公约数
- 抽象和接口
- UML模型图
- cocos2dx用lua监听android的返回事件
- 【Windows】windows下svn强制写日志hook脚本增强版(空格过滤)
- 特殊的三个数
- arm 汇编调用c函数与c函数调用arm汇编
- wordpress 调试环境建立【Xampp + Zend studio + xdebug(php5.4 thread safe) 】
- 嵌入式Linux启动过程中的问题积累
- PHP中__construct(), __destory(), __get(), __set(), __call(), __toString(), __clo