研究面向对象与面向过程的区别中遇到的问题,请指教!
kflwz 2004-05-02 12:22:51 问题:求一个长方形的周长和面积
请问这个程序除了思想上的不同之外,具体都有哪些不同,通过程序能够体现出面向对象的哪些优点,请高手指点,多谢了!
面向过程的程序设计代码:
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));
}
面向对象的程序设计代码
class Rectangle{
int l,w; // 定义两个成员变量,分别表示长方形的长和宽
int perimeter(){ return 2*(l+w); }
int area(){ return l*w; }
public static void main(String args[]){
Rectangle rect1=new Rectangle();
rect1.l=10; rect1.w=5;
System.out.println(“perimeter of rect1=”+rect1.perimeter());
System.out.println(“area of rect1=”+rect1.area());
}
}