【UML】知识点狂想曲
面向对象和面向过程
* 面向过程
以功能为核心,关注于怎么实现以及实现的顺序
(分解出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个进行调用。)
代表:模块
一句话:上帝在干活;
* 面向对象
关注于用什么实现
代表:类(对显示生活中的一类具有共同特征的事物的抽象,其本质是一种数据类型)
一句话:上帝创造人来干活。
特点:
封装性,继承性,多态性
封装性
对用户隐藏其实现的细节
个人理解就是变量,函数,类,模块有私有,公有和保护之分;有些内容只有有一定权限或者是一定的作用域内可以查看,外界只能看到一个名字,一串符号。
作用:
防止程序中的重要数据因为意外的改变或者错误的使用而导致重要损失。
继承性
可以实现现有类的所有的功能
你有的我都有,你没有的我还有。
直接继承:直接继承所有的内容,无需进行额外的编码的能力。
借口继承:只继承属性和方法
作用:
提高了代码的复用性和编码的效率。
多态性
一个类的实例,在实现相同的功能的时间,不同的实例有不同的运行结果。
一个有名的例子:
一个指挥者,指挥黄河大合唱,谱子一样,指令一样,但是不同的乐曲演奏出不同的音色和不同的曲调。
作用:
提高了类的复用性,如,一个公共类,通过相同的方式,针对不同的对象实现相应的具体操作。