面向对象的程序设计

                    面向对象的程序设计

问题:求一个长方形的周长和面积。

以面向过程的程序设计方式思考:

1.   确定长方形周长和面积的算法。C = (a + b) * 2, S = a * b

2.   编写两个方法(函数)分别计算长方形的周长和面积。void double getC(double a, double b) {}, void double getS(double a, double b){}

3.   求周长的方法(函数)和求面积的函数需要两个参数,分别是长方形的长和宽。

代码
public class Rectangle {
static double getC(double l,double w) {
return 2*(l + w);
}

static double getS(double l,double w) {
return l * w;
}

public static void main(String[] args) {
double a = 3;
double b = 4;
System.
out.println("getC" + getC(a, b));
System.
out.println("getS" + getS(a, b));
}
}

以面向对象的程序设计方式思考:

1.   一个长方形可以看成一个长方形对象。

2.   一个长方形对象有两个状态(长和宽)和两个行为(求周长和求面积)。

3.   将所有长方形的共性抽取出来,设计一个长方形类。

4.   通过长方形对象的行为,就可以求出某个具体的长方形对象的周长和面积。

代码
public class Rectangle {
private double length;
private double wide;

public Rectangle(double length,double wide) {
this.length = length;
this.wide = wide;
}

public double perimeter() {
return 2*(length + wide);
}

public double area() {
return length * wide;
}

public static void main(String[] args) {
Rectangle obj
= new Rectangle(5,4);// 实例化
System.out.println("perimeter = " + obj.perimeter());
System.
out.println("area = " + obj.area());
}
}

 

posted @ 2010-12-21 10:28  meng72ndsc  阅读(293)  评论(0编辑  收藏  举报