面向对象编程和面向过程编程哪个好?

如题所述

面向对象和面向过程只是思考方式不同而已,不能说哪个就好,哪个就不好。关键还是看适用的场合。
面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象:则是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤
总的说来:面向过程的做法适用于小型系统的构建或者是不复杂系统的构建,而面向对象的做法更加适用于构建大型系统或者是复杂的系统。而且面向过程是基础,所以不要认为面向对象不重要。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-09
从编程技术发展进程来看,当然面向对象要好,使大规模程序管理比较有序,但也不能说面向过程就没生命力,面向对象里的过程还是面向过程的,另外有些较小的应用程序面向过程可能更方便,效率更高。
第2个回答  2011-01-10
掌握面向对象的困难之处在于思路的转换。我们通常习惯于考虑解决问题的方法,而不是考虑将问题抽象成对象再去解决它。
我还是从两个简单的例子来说一下吧,希望对你转换思路有帮助:
第一个简单的例子:
(编写一个驾驶汽车的方法)
面向过程的程序设计:
编写一个方法,void drivecar();
面向对象的程序设计:
将一辆汽车看成一个对象,将所有汽车对象的共性抽取出来,设计一个类Car,类中有一个方法void drive(),用Car这个类实例化一个具体的对象car,调用:car.drive()。
第二个简单的例子:问题:求一个长方形的周长和面积。
以面向过程的程序设计方式思考:
1、确定长方形周长和面积的算法。
2、编写两个方法(函数)分别计算长方形的周长和面积。
3、求周长的方法(函数)和求面积的方法(函数)需要两个参数,分别是长方形的长和宽。
面向过程的程序设计代码:
class Rectangle
{
static int perimeter(int length,int width)
{
return 2*(length+width);
}
static int area(int length,int width)
{
return length*width;
}
public static void main(String[] args)
{
System.out.println("perimeter = “ + Rectangle.perimeter(5,4));
System.out.println("area = “ + Rectangle.area(5,4));
}
}
面向对象的程序设计:
问题:求一个长方形的周长和面积。
以面向对象的程序设计方式思考:
1、一个长方形可以看成一个长方形对象。
2、一个长方形对象有两个状态(长和宽)和两个行为(求周长和求面积)。
3、将所有长方形的共性抽取出来,设计一个长方形类。
4、通过长方形对象的行为,就可以求出某个具体的长方形对象的周长和面积。
(程序你可以自己试着编一下哈!)
第3个回答  2021-02-02

关注猿学部落,轻松敲代码,轻松学编程,更多课程尽在猿学部路官网www.itbull.net

相似回答