展开全部
掌握面向对象的困难之处在于思路的转换。我们通常习惯于考虑解决问题的方法,而不是考虑将问题抽象成对象再去解决它。 我还是从两个简单的例子来说一下吧,希望对你转换思路有帮助: 第一个简单的例子: (编写一个驾驶汽车的方法) 面向过程的程序设计: 编写一个方法,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、通过长方形对象的行为,就可以求出某个具体的长方形对象的周长和面积。 (程序你可以自己试着编一下哈!)
麻烦采纳,谢谢!
麻烦采纳,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询