面向过程和面向对象思想转变

来源:互联网 发布:科瑞达软件官网 编辑:程序博客网 时间:2024/05/24 05:02
 

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


/*以面向过程的程序设计方式思考:
1.确定长方形的周长和面积的算法;
2.编写两个方法(函数)分别计算长方形的周长和面积;
3.求周长的方法(函数)和求面积的方法(函数)需要两个参数,
  分别是长方形的长和宽*/
//面向过程的程序设计代码:


/*class Rectangle
{
 static float perimeter(float length,float width)
{
  return 2*(length+width);
}
static float area(float length, float width)
{
 return length*width;
}
public static void main(String[] args)
{
 System.out.println("the perimeter is =" + perimeter(3.123f,4.267f));
 System.out.println("the area is=" + area(3.123f,4.267f));//使用f来表示浮点
}
}*/


/*以面向对象的程序设计方式思考:
1.一个长方形可以看成是一个长方形对象;
2.一个长方形对象有两个状态(长和宽)和两个行为(求周长和面积)
3.将所有长方形的共性抽取出来,设计一个长方形的类
4.通过长方形对象的行为,就可以求出某个具体的长方形的周长和面积*/
//面向对象的程序设计代码:
class Rectangle
{
 float l,h;//有两个状态,即两个成员变量
 float perimeter()
 {
  return 2*(l+h);
 }
  float area()
 {
  return l*h;
 }
 public static void main(String[] args)
 {
  Rectangle rect1=new Rectangle();
  Rectangle rect2=new Rectangle();
  rect1.l=10.13f;
  rect1.h=5.74f;
  rect2.l=12.21f;
  rect2.h=24.13f;
  System.out.println("The perimeter is =" + rect1.perimeter());
  System.out.println("The area is =" + rect1.area());
  System.out.println("The perimeter is =" + rect2.perimeter());
  System.out.println("The area is =" + rect2.area());
 }
/*K:\Java\try\lesson3>javac Rectangle.java

K:\Java\try\lesson3>java Rectangle
The perimeter is =31.74
The area is =58.1462
The perimeter is =72.68
The area is =294.6273 */