那接下来呢
我给大家归纳一下
面向对象的一个几个概念
一个是对象就是Object
自然界中的一个物体
一个人个体都是一个对象
那么程序中也有相应的机制
可以模拟这个对象
还有一种就是类
类是基于分类和抽象的思维
形成的
同一类对象
我们可以抽象出它的共同属性
和行为就形成了类
比如说老师就是一类人
那么今天如果不是我
站在这儿讲课
换一个别的老师来
只要他经过考核
有这个资质的
同样可以讲这个课
为什么呢因为站在这儿
需要站在这儿讲课的
不一定是我这个人
而是需要这样一种老师
站在这儿讲课
这就是一种分类的思想
然后我会讲
今天学完了以后
大家要去做什么习题
同学们要去做什么实验
那么这是对学这门课的学生
一个统一的要求
也就是说把大家分类了
选了这门课的学生是同一类人
所以这种思维
我们都是很习惯的
那么类与对象什么概念呢
什么关系呢
这两个概念之间的关系
就是类型和这个类型的实例
之间的关系
就好像是模具和铸件的关系一样
我们再观察一下
自然界中的对象
比如说一个电视机
你要操纵它怎么操纵
用摇控器用面板上的按钮
你不能打开机壳
去调里面的东西吧
那属于维修那不属于使用吧
那钟表你怎么使用它
你要调时间要看时间
通过面板通过旋钮按钮
对吧
这都是有壳封装起来的
当然人更是封装起来的
人不能轻易被打开
打开就是跟机器维修一样
那不是好事
所以我们对象都是被封装起来的
封装起来有什么好处
当然第一是安全性
我们的脑袋是封装起来的
所以它不会受环境条件的影响
被破坏掉对吧
我们的仪器设备是封装起来的
不会被轻易地摔坏
被误操作给损伤等等这些
那好以前呢
如果没有面向对象的
这种机制的话
我们在程序里面的代码
是没有这种封装机制的
所以封装起来用着方便
你不用管里面的实现原理
还有安全性好
所以这也是面向对象的一个特点
封装
还有一点是什么是继承
继承这个词大家习惯都知道
子承父业
那你想想
如果说你能继承一个产业
在你继承产业的基础上
再去发展你就要比从零起步
发展得快文化也是这样
我们首先要继承
我们民族几千年的传统文化
在这个基础上去发扬光大
去发展
所以我们都知道继承是件好事
写程序能不能也这样呢
当然我们也希望这样
不要我每写一个程序
都一切从头开始
从刀耕火种开始
那个任务太重了
最好有现成的一些什么东西
可以被我拿来所用
继承来也许我还需要改造
然后总归比我从头
一切自己做起要好
在第七章我们会给大家讲继承
这些程序重用的一种方式
还有一个面向对象的概念
叫做多态性
多态性这个词呢
大家似乎有点陌生
英文的这个词也比较长
比较别扭 polymorphism
都不是一个很常用的词
但是多态现象
却是一个非常常见的现象
比如说
我说今天下课以后
我们去打乒乓球啦
另外一组同学说
那咱们去打篮球去
都说的是打球都用了一个打
我们打乒乓球
他们去打篮球打法一样吗
当然不一样
这是常识大家都知道
但是为什么我们说话的时候不说
我们俩用打乒乓球的方法
去打乒乓球了
那几个人为什么不说
我们哥几个用打篮球的方法
去打篮球了
如果你这样说话
大家一定觉得这个人有毛病
为什么因为我们都知道
都是打球但是打的球不一样
包括英文用的词是什么 play
你play的东西不一样
规则就不一样方法就不一样
这个大家都清楚
这个是什么这就是多态
那么程序中
能不能也支持这种思维方式呢
当然我们也希望它能支持
只有面向对象的程序
能支持这种多态的行为
这样的话呢
我们的程序就更容易写
也更容易理解了