编程思想:面向对象与面向过程
个人理解:编程思想的差异就是思考问题的区别
当面对一个问题,怎样的思考思路能有效地解决问题
例如:人将大象放入冰箱
1.面向过程:强调功能行为
具体解决:人把冰箱打开(功能:打开 冰箱)
人将大象放入冰箱(功能:放入 东西 到冰箱)
人将冰箱门关上(功能:关上 冰箱 门)
2.面向对象:将功能封装进对象,强调具备了功能的对象
具体解决:首先明确 种类(具有某些具体功能的总的种类名称)
种类:人 、大象 、冰箱
此处的每个种类都设计成一个类
人{
打开(冰箱//形参){
冰箱.开门();
}
关闭(){}
}
冰箱{
开门(){//具体的实现细节描述:转轴如何旋转};
}
大象{}
人、冰箱、大象各自的功能:相当于各自的方法
种类与种类之间用方法连接 (相当于人与大象用动作连接起来)
(因为人、大象、冰箱都没具体化:例如人是张三、大象:是在哪里的哪一只大象、冰箱是哪一台在哪安放的一台冰箱)
所以以上种类(人、大象、冰箱)均定义成类
类:就是对象的抽象 对象:是类的具体实例化
相当于:人(人类) 张三是一个人 那么:张三就是对象 人(人类)这个概念就是一个类 (类是抽象的概念)
各自编程思想的好处:
面向过程:人的正常思考思绪就是如此,第一步 第二步 ......
面向对象:针对于每个对象都封装好功能 则每个对象则具有通用性 可多次使用,每次对象使用另一个对象的方法 直接调用就好。