自学内容网 自学内容网

【编程精讲】⾯向过程与⾯向对象的区别

⾯向过程与⾯向对象的区别

⼀、区别

1.编程思想不同

    ⾯向过程:是⼀种以过程为中⼼的编程思想。都是以什么正在发⽣为主要⽬标进⾏编程。

    ⾯向对象:是⼀类以对象作为基本程序结构单位的程序设计语⾔,指⽤于描述的设计是以对象为核⼼,⽽对象是程序运⾏时刻的基本成分。 

2.特点不同

    ⾯向过程:就是分析出解决问题所需要的步骤,然后⽤函数把这些步骤⼀步⼀步实现,使⽤的时候⼀个⼀个依次调⽤就可以了。

    ⾯向对象:是把构成问题事务分解成各个对象,建⽴对象的⽬的不是为了完成⼀个步骤,⽽是为了描叙某个事物在整个解决问题的步骤中的⾏为。   

3.优势不同

    ⾯向过程:不⽀持丰富的“⾯向对象”特性(⽐如继承、多态),并且不允许混合持久化状态和域逻辑。

    ⾯向对象:在内部被表⽰为⼀个指向⼀组属性的指针。任何对这个对象的操作都会经过这个指针操作对象的属性和⽅法。

     

⼆、优缺点

    ⾯向过程(Procedure Oriented Programming)

    ⾯向过程是具体化的,流程化的,解决⼀个问题,你需要⼀步⼀步的分析,⼀步⼀步的实现。

    优点:性能⽐⾯向对象好,因为类调⽤时需要实例化,开销⽐较⼤,⽐较消耗资源。⽐如单⽚机、嵌⼊式开发、 Linux/Unix等⼀般采⽤⾯向过程开发,性能是最重要的因素。

   缺点:不易维护、不易复⽤、不易扩展。

   ⾯向对象(Object Oriented Programming)

   ⾯向对象是模型化的,你只需抽象出⼀个类,这是⼀个封闭的盒⼦,在这⾥你拥有数据也拥有解决问题的⽅法。需要什么功能直接使⽤就可以了,不必去⼀步⼀步的实现,⾄于这个功能是如何实现的,管我们什么事?我们会⽤就可以了。

   优点:易维护、易复⽤、易扩展,由于⾯向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。可维护性表现在三个⽅⾯:可理解性。可测试性和可修改性。

   缺点:性能⽐⾯向过程低。

三、⼩结

  ⾯向对象就是⾼度实物抽象化、⾯向过程就是⾃顶向下的编程!   

    ⾯向对象是以功能来划分问题,⽽不是步骤。

    ⾯向对象的底层其实还是⾯向过程,把⾯向过程抽象成类,然后封装,⽅便我们使⽤的就是⾯向对象了。


原文地址:https://blog.csdn.net/weixin_56334307/article/details/142760536

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!