面对对象程序设计(Java)实验2
实验内容
一、实验目的
- 掌握Java语言的类和对象的定义及使用的基本方法。
- 掌握继承机制以及子类和父类之间的转换。
- 掌握多态性的概念及程序设计。
二、实验内容
上机实现下列程序并观察程序的运行情况:
- 声明一个表示圆的类,包含计算周长和面积的方法,保存在文件Circle.java 中。然后编写测试类,保存在文件ShapeTester.java中,并与Circle.java放在相同的目录下,进行测试。
- 定义一个抽象类Shape,它有一个抽象方法calArea代表求图形的面积;分别定义Shape的两个子类Triangle、Rectangle代表三角形、矩形,这两个类分别具体实现calArea方法求自己的面积,在main方法里,利用这三个类创建对象展示Java的多态性。
实验内容一
Circle.java
package test2;
public class Crycle {
public double r;
public static double perimeter(double r){
double c;
c = 2 * 3.14159 * r;
return c;
}
public static double area(double r){
double s;
s = 3.14159 * 3.14159 * r;
return s;
}
}
ShapeTester.java
package test2;
import java.util.Scanner;
public class ShapeTester {
public static void main(String [] args){
Crycle crycle = new Crycle();
Scanner input = new Scanner(System.in);
crycle.r = input.nextDouble();
double c,s;
c = Crycle.perimeter(crycle.r);
s = Crycle.area(crycle.r);
java.text.DecimalFormat df = new java.text.DecimalFormat("0.000");
System.out.println("周长:" + df.format(c));
System.out.print("面积:" + df.format(s));
}
}
实验内容二
Shape.java
package test2;
import java.util.Scanner;
abstract class Shape {
abstract double calArea();
}
class Rectangle extends Shape{
double a;
double b;
double calArea(){
return this.a * this.b / 2;
}
}
class Triangle extends Shape{
double h;
double d;
double calArea(){
return this.h * this.d / 2;
}
}
class ShapeTest2 {
public static void main(String[] args){
Rectangle rect = new Rectangle();
Scanner input = new Scanner(System.in);
System.out.println("矩形的参数:");
rect.a = input.nextDouble();
rect.b = input.nextDouble();
Triangle tri = new Triangle();
System.out.println("三角形的底:");
tri.d = input.nextDouble();
System.out.println("三角形的高:");
tri.h = input.nextDouble();
double rect_s = rect.calArea();
System.out.println("矩形的面积为:" + rect_s );
double tri_s = tri.calArea();
System.out.println("三角形的面积为:" + tri_s );
}
}
本文来自作者:CK_0ff,转载请注明原文链接:https://www.cnblogs.com/Ck-0ff/p/16056258.html