多态的浅谈(C++版)
来源:互联网 发布:淘宝失效宝贝 编辑:程序博客网 时间:2024/04/30 01:38
对于多态,是很多面向对象初学者很难逾越的鸿沟,就算可能有一定经验的开发者,对这个概念也不一定能叙述得很清楚。
这篇文章主要是想介绍一下我对多态的认识,以帮助初学者理解一下,也可以帮助对多态的概念有些许模糊的同行们。
写得不好的地方,还望指教。
说到多态,就离不开虚函数。暂时抛开虚函数的定义,就只要知道具有virtual关键字的函数就是虚函数。这样好理解吧,呵呵。下面就用一个例子来开始多态的学习吧。
比如现在有一个动物的类Animal,这个动物具有运动的方法Move。(构造和析构函数就省略不写了)
但是只有这个方法我们无法知道某种动物的具体运动方式。以鸭子为例,鸭子既可以在陆地上走,也可以在水里游,现在有一个鸭子类,由于鸭子是动物的一种,所以继承动物类。
这个时候父类动物想知道鸭子的运动方式怎么办,那么多态就起作用了。
总结来说,有了virtual关键字,多态找的是子类的方法,否则就找父类的方法。(编译器会自动找出合适的对象来执行操作--多态性,教科书中”合适的对象“就是前面总结的所说的,每次看到"自动"啊,"合适的对象"什么的字眼就想打人,这跟菜谱中的"适量",”少许“一个鸟样)。
至于什么地方要用到多态,那就得看你的需求喽!
好了,多态就介绍到这里吧。如果你还不懂得话,那就再多看几遍吧,或者隔断时间再看应该就可以理解了。
- 【C++】浅谈对多态的理解
- C语言的浅谈!
- 浅谈C的printf
- 浅谈C的scanf
- 多态的浅谈(C++版)
- 浅谈C代码的健壮性
- 浅谈C的函数应用
- 浅谈c语言的指针
- Objc C --Block的浅谈
- extern ''C'' 的 学习浅谈
- 浅谈C语言的指针
- 浅谈c#Management的使用
- 浅谈C++的多态
- 浅谈C语言的可变参数
- 浅谈C语言程序设计的逻辑运算符
- 浅谈c语言中迭代与递归的
- 浅谈C语言的可变参数
- 浅谈对C语言指针的理解
- 使用ASP.NET制作Wap网站注意事项
- Encode Unicode
- 我爱我家
- table 的 id 属性不被 document.getElementById支持
- 摘自 《疯狂的程序员》
- 多态的浅谈(C++版)
- 项目日志二
- 懂是为了更好的欣赏
- 编译 源文件奇怪的问题
- 详细分析 动态更新水晶报表(一个dataset多张表)
- 详细分析 动态更新水晶报表(一个dataset多张表)
- Alert提示框备用
- useage of gcc
- linux 链表实例应用程序