发布网友 发布时间:2024-10-24 16:44
共2个回答
热心网友 时间:2024-11-07 03:56
首先这不是时髦的问题。
面向过程个人理解为想到哪写到哪,面向过程注重于函数(方法),尽可能通过一个方法来表达我们要干的事,这种编程方式的好处就是非常直观,直接表达了程序员内心的思路。但是为了实现这个方法,我们要写很多的代码,本身就造成了代码量的庞大,也不利于阅读和维护。
而面向对象的模式模拟了现实中的事物,编程本身就是依据现实中的事物来编的,OOP正好符合我们日常思考问题的习惯,把每一个事物由对象来完成,编程中就是每一个函数(方法)由Object来完成,Object中封装了其属性和行为,使用时只需要调用Object的属性和方法,而不需要具体关心它们的实现,这样就大大减少了代码量,增加了开发的效率。
我们知道,OOP有三大特点:封装、继承和多态。
首先来说下封装。
由于对象封装了其内部实现,在编程时只是将对象一个一个调用过来,而不需要考虑这个对象该如何实现,映入眼帘的只有这个对象,这样就使得代码非常清晰易读,有利于代码的维护。
再者OOP除了封装以外还有继承和多态两大特性。继承非常好理解,子承父业,只要继承了某个类的子类,就可以调用这个类所有可见的属性和方法(private标记的为不可见因此调用不到),这种模式大大减少了代码量,子类中不必再定义与父类雷同的属性,而是直接调用父类的。
而多态则表现在方法的重写,子类可以重写父类可见的方法,同名的方法采用了不同的实现,调用时即使定义了一个父类的对象,但是如果构造时构造的是子类,就会调用该子类的方法,而不是父类。这种模式增加了程序的灵活性,也减少了代码量。
因此,面向对象要比面向过程更受欢迎。
随着时代的发展,用户需求的不断变化,单纯的OOP已经不能满足我们的需求了。于是出现了很多框架,比如StrutsX系列,Spring等等,框架的出现使得代码量进一步减少,但是OOP依然贯穿于框架的每一个组件中。
热心网友 时间:2024-11-07 03:56
你如果都理解两者的话,你会发现,面向对象更符合平时思考的习惯,换言之,也就是通俗易用,面向过程在处理较复杂问题时则不容易解决。