面向对象与面向过程
- 面向对象就是:把数据及对数据的操作方法放在一起,作为一个相互以来的整体--对象。对同类对象抽象出其特性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。对象即为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象。
面向对象与面向过程的区别:
项目名称 | 面向对象 | 面向过程 |
---|---|---|
定义 | 面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。 | 面向过程是“自上而下”的设计语言,先定好框架,再增砖添瓦。通俗点,就是先定好main()函数,然后再逐步实现mian()函数中所要用到的其他方法。 |
特点 | 封装,继承,多态 | 算法+数据结构 |
优势 | 适用于大型复杂系统,方便复用,可维护性高,可扩展性好,灵活性好。 | 适用于简单系统,容易理解 |
劣势 | 标胶抽象,性能比面向过程低 | 难以应对复杂系统。难以复用,不易维护不易扩展,灵活性差。 |
对比 | 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 | 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 |