-
什么是面向过程?
- 面向过程-POP(全称 process-oriented programming)
- 先分析问题,分析出步骤,需要几步,然后按照分析好的步骤去一步步的解决问题.(简而言之就是: 先分析’步骤’,在按照步骤’计划’一步步实现)
- 优点: 它的性能方面会比较高
- 缺点: 它不易维护、不易复用、不易扩展(与面向对象相比)
- 举个例子说明什么是面向过程 : 我拿起保温杯喝水
- 第一步我要拿起保温杯 , 第二步我要拧开瓶盖 , 第三步我才能喝到水 , 第四步我还要拧紧瓶盖 , 第五步还要放回去.
-
什么是面向对象?
- 面向对象-OOP(全称 Object Oriented Programming)
- 与面向过程不同,它是把事务分解成一个个的对象,每个对象负责不同的功能,然后由对象之间分工合作达到目的.(以对象功能来划分问题,而不是靠步骤)
- 优点:有很好的封装线、继承性、多态性
易维护、易复用、易扩展 - 缺点: 它的性能方面比面向过程高
- 还是举例子 : 我开车去万达玩
- 这时我需要的不是步骤了 , 而是对象 .
- 要分析这些对象都有些什么功能 , 比如我 , 我会开车 , 我要吃东西 , 我还要去玩
- 比如车 : 车能前进后退 , 车还能转弯 , 车还能滴滴响(指喇叭)
- 然后在去调用这些方法让他们去"合作"完成整套任务
// 比如我声明一个类 面向对象
class Star {
constructor() {
}
// 明星会干什么 有什么技能
sing (song) {
// sing唱歌 唱歌就是这个对象的功能
console.log('我会唱歌,我会唱什么什么歌');
}
dance () {
// dance跳舞 跳舞也是这个对象的功能
console.log('我还会跳舞,老年迪斯科')
}
}
// 如果我new了一个实例对象比如我 渣渣辉
var zzh = new Star('渣渣辉')
// 那么 渣渣辉就会唱歌了,也会跳舞了
// 唱歌 song还能传参
zzh.sing()
// 跳舞
zzh.dance()
// 如果 再声明一个实例对象,那么这个实例对象也会拥有唱歌跳舞的功能