【JAVA程序设计】实验三 函数与对象
一、实验目的:
1、学会定义并实现类。
2、学会定义并创建类的对象,通过类的对象访问类的成员属性与方法。
3、学会定义并实现派生类,学会使用派生类的对象。
4、理解并学会使用类的多态性,理解并能使用运算符重载。
二、实验环境:
BlueJ
三、实验内容:
1.定义并实现一个长方体类(Cube),包含长(length)、宽(width)与高(height)等三个属性,包含计算体积(calVolume)与计算表面积(calArea)等两个方法,类的属由构造函数进行初始化或通过成员函数赋值。编写一段程序,测试该类。
代码:
public class Cube
{
double length,width,height;
public void set(double length,double width, double height)
{
this.length=length;
this.width=width;
this.height=height;
}
public void calVolume()
{
System.out.println("体积为:"+length*width*height);
}
public void calArea()
{
System.out.println("表面积为:"+(length*width+length*height+width*height));
}
public static void main(String args[])
{
Cube c=new Cube();
c.set(1,2,3);
c.calVolume();
c.calArea();
}
}
- (选做)定义并实现一个三角形类(Triangle),其三个边长(edge1, edge2, edge3)为其属性,包含判断其是否为三角形(isTriangle)、计算周长(calPerimeter)及计算面积(calArea)等三个方法,类的属由构造函数进行初始化或通过成员函数赋值。编写一段程序,测试该类。
代码:
public class Triangle
{
double edge1,edge2,edge3;
public void set(double edge1,double edge2,double edge3)
{
this.edge1=edge1;
this.edge2=edge2;
this.edge3=edge3;
}
public boolean isTriangle()
{
if(edge1+edge2>edge3&&edge1+edge3>edge2&&edge2+edge3>edge1)
return true;
else return false;
}
public void calPerimeter()
{
System.out.println("周长为:"+(edge1+edge2+edge3));
}
public void calArea()
{
double answer,p;
p=(double)(edge1+edge2+edge3)/2;
answer=java.lang.Math.sqrt(p*(p-edge1)*(p-edge2)*(p-edge3));
System.out.println("面积为:"+answer);
}
public static void main()
{
Triangle T=new Triangle();
T.set(3,4,5);
if(T.isTriangle())
{
T.calPerimeter();
T.calArea();
}
else
System.out.println("输入的的三角形非法!");
}
}
- 定义并实现一个复数类(Complex),包含实部(real)及虚部(image)两个属性,包含计算两个复数的和(add)、积(multiply)以及打印复数(print)等三个方法,类的属由构造函数进行初始化或通过成员函数赋值。编写一段程序,测试该类。
Complex类:
public class Complex
{
double real,image;
public void add(double re,double im)
{
real=re+real;
image=image+im;
}
public void multiply(double re<