面向对象编程思想oop
什么是面向对象
面向对象就是一种编程的思想,是前辈们总结出来的经验指导程序员如何通过面向对象编写更好的程序
核心是对象
程序就是一系列的对象的集合,程序员负责调度这些对象从而完成对象与对象之间的交互
案例: 1吧大象装进冰箱 ?? 如何操作
面向过程:
1,打开冰箱
2,装进大象
3,关闭冰箱
面向过程;
找个具备装大象的技能的对象, 怎么找的就是我自己创造一个东西 比如机器人 我让他装我不动手 这就是面向过程 ,而且我这个机器人不止能装大象 还能装 狮子 什么都行
在面向过程中程序员的角度发生了变化, 从具体的操作者变成了指挥者
强调:对象不是凭空产生的 ,而是需要我们设计
案例:
西天取经
如来,让唐僧师徒四人去取经 为什么他不自己去,因为累啊 所以 他找了四个帮手 让他们去
如来只需要控制 负责 调度对象即可 不需要他自己去
如果 某个 对象发生变化 但不会影响 其他的对象:也就是说 如果在路上四个人猪八戒不想去 了 ,但是也不会影响其他三个人, 扩展性也变高了有可能 也会在路上碰到其他想去的人 也可以加入
面向对象的三大优点:
1,扩展性
2,灵活性
3,重用性
缺点:
1,程序的复杂度提高
2,无法预知结果
使用场景:
对扩展性 要求比较高的,通常直接面对用户的 例如:所有的游戏 ,qq,微信,
面向过程的编程思想
关注的核心是过程,过程就是一步一步的执行步骤 ,先干什么 然后在干什么,
优点:
思维逻辑清晰, 复杂问题简单化, 流程化
缺点:
扩展性差, 可维护性差 因为是面向过程就相当于 一个流水线 要是在这个流水线想改变什么 那么你整个流水线都要停止下来 改好了 才能工作
使用场景:
对扩展性要求较低的程序例如: 系统内核,git , 计算器
记住!!:不是所有的程序都要面向对象,得 分析具体要求而 做
OOP就等同与面向对象这四个字
类 和对象
这是 oop中 的最核心的两个概念
类
什么是类?
就是 类型 类别 是一种 抽象的概念
比如 一系列 具备 相同 特征 和行为的对象的集合,
比如人类 就是所有的人 这就是类,还有 猴子 只要是没有具体到那个东西 那么 他就是类
对象
什么是对象?
就是具体存在的某个事物,具备 子的特征和行为
对象就是特征和技能的结合体
比如:我说那个小王你过来一下 而 这个小王 就是对象 指名道姓 的说 就是判断事务的准确性
类和对象的关系?
类 包含一系列的对象
而对象属于某个类
在我们日常生活中是先有对象 在有类
而在程序中是现有类再有对象,因为在程序中我们就是上帝 我们要创造 我们 创造一个类 ,然后在创造对象 然后把创造的对象归属到哪一类中
总结 出一个结论
在使用使用面向对象编程是 ,第一步先要思考需要什么对象,而这个对象具备了什么样的特征,什么技能,什么特性 ,而我们根据这个 技能特征造出来一个类
'