面向对象编程思想

什么是面向过程和面向对象?

举个最简单点的例子来区分

有一天要请客吃饭,怎么办?

有两个方法

1、买菜,买调料,买肉,买酒水,然后下厨房动手炒菜

2、去饭店,点个套餐

看出来区别了吗?方法1是面向过程,方法2是面向对象。

面向对象有什么优势?

首先不需要知道各种菜式是怎么做的,降低了耦合性。如果突然想换套餐了,对于方法1可能不太容易,因为需要重新买菜,买调料什么的。对于方法2,太容易了,给老板说一声换个套餐就可以了,提高了可维护性。总的来说就是降低耦合,提高维护性!

面向过程是具体化的,解决一个问题,需要一步一步的分析,一步一步的实现。

面向对象是模型化的,只需抽象出一个类,这是一个封闭的盒子,在这里拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,不需要知道,会用就可以了。

面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装,方便使用的就是面向对象了。

面向过程:

优点:性能比面向对象好,因为类调用时需要实例化,开销比较大,比较消耗资源。
缺点:不易维护、不易复用、不易扩展.

面向对象:

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 .
缺点:性能比面向过程差

面向对象的三大特性:
1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
提高代码复用性;继承是多态的前提。
3、多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,提高了程序的拓展性。
JS中的多态其实是相同的方法针对于不同的对象会有不同的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值