java实验报告样本2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验项目名称:继承和多态
(所属课程:Java语言程序设计)
院系:计算机科学与信息工程专业班级:12级物联网工程姓名:张懿
学号:201203040042 实验地点:A-06 411 指导老师:张阳
本实验项目成绩:教师签字:日期:
1.实验目的
(1)掌握类的继承机制。
(2)熟悉类中成员变量和方法的访问控制。
(3)熟悉方法或构造方法多态性。
2.实验内容
(1)模拟编写程序,理解类的继承、多态、继承和多态规则。
(2)独立编程,实现类的继承和多态。
3.实验作业
设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle (圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。
海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2 4.实验程序
import java.util.Scanner;
public class TEST {
public static void main(String[] args) {
float radius;
float chang,kuan;
float a,b,c;
Scanner input = new Scanner(System.in);
System.out.print("请输入圆的半径:");
radius = input.nextFloat();
Circle circle = new Circle(radius);
System.out.println("圆的面积为:"+circle.area()+" 圆的周长为:"+circle.perimeter()+"\n"+circle.toString());
System.out.print("请输入矩形的长:");
chang = input.nextFloat();
System.out.print("请输入矩形的宽:");
kuan = input.nextFloat();
Rectangle rectangle = new Rectangle(chang,kuan);
System.out.println("矩形的面积为:"+rectangle.area()+" 矩形圆的周长为:"+rectangle.perimeter()+"\n"+rectangle.toString());
System.out.print("请输入三角形的第一条边:");
a = input.nextFloat();
System.out.print("请输入三角形的第二条边:");
b = input.nextFloat();
System.out.print("请输入三角形的第三条边:");
c = input.nextFloat();
Triangle triangle = new Triangle(a,b,c);
System.out.println("三角形的面积为:"+triangle.area()+" 三角形圆的周长为:"+triangle.perimeter()+"\n"+triangle.toString());
}
}
class Shape{
private String color;
public Shape(){
}
public double area(){
return 0;
}
public double perimeter(){
return 0;
}
public void Setcolor(String color){
this.color = color;
}
}
class Circle extends Shape{
private float radius;
public Circle(float radius){
this.radius = radius;
}
public double area(){
return 3.14 * radius * radius;
}
public double perimeter(){
return 3.14 * 2 * radius;
}
public String toString(){
return super.toString() + "这是一个描述该对象的字符串";
}
}
class Rectangle extends Shape{
private float chang;
private float kuan;
public Rectangle(float chang,float kuan){
this.chang = chang;
this.kuan = kuan;
}
public double area(){
return chang * kuan;
}
public double perimeter(){
return (chang+kuan) * 2;
}
public String toString(){
return super.toString() + "这是一个描述该对象的字符串";
}
}
class Triangle extends Shape{