JAVA继承和多态实验报告_第1页
JAVA继承和多态实验报告_第2页
JAVA继承和多态实验报告_第3页
JAVA继承和多态实验报告_第4页
JAVA继承和多态实验报告_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、继承和多态实验项目名称(所属课程:Java语言程序设计)院系:专业班级:姓名:学号:实验地点:指导老师:本实验项目成绩: 教师签字: 日期: 1 .实验目的(1)掌握类的继承机制。(2)熟悉类中成员变量和方法的访问控制。(3)熟悉方法或构造方法多态性。2 .实验内容(1)模拟编写程序,理解类的继承、多态、继承和多态规则。(2)独立编程,实现类的继承和多态。3 .实验作业设计一个类Shape (图形)包含求面积和周长的area()方法和perimeter。方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle (圆形)类、Rectangle (矩形)类和Tria

2、ngle (三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆 盖toString方法。海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2程序代码为:Class 包package Class;public class Shape private String color = "while"public Shape(String color) this .color = color;public void setColor(String color) this .color = color;public String ge

3、tC010roreturn color ;public double getArea() return 0;public double getPerimeter() return 0;public String toString() return "color:" + color;package Class;public class Circle extends Shape private double radius;public Circle(String color, double radius) super (color);this .radius = radius;

4、public void setRadius( double radius) this .radius = radius;public double getRadius() return radius ;public double getCircleArea() return 3.14* radius *radius ;public double getCirclePerimeter() return 3.14*2* radius ;public String toString()return "The Area is:" + getCircleArea()+ "n

5、The Perimeter is:" + getCirclePerimeter();package Class;public class Rectangle extends Shapeprivate double width ;private double height ;public Rectangle(String color, double width, double height) super (color);this .width = width;this .height = height;public void setWidth( double width) this .

6、width = width;public double getWidth() return width ;public void setHeight( double height) this .height = height;public double getHeight() return height ;public double getRectangleArea() return width *height ;public double getRectanglePerimeter()return 2*( width + height);public String toString()ret

7、urn "The Area is:" + getRectangleArea()+ "nThe Perimeter is:" + getRectanglePerimeter();package Class;public class Triangle extends Shapeprivate double a;private double b;private double c;private double s;public Triangle(String color, double a,double b,double c, double s) super (

8、color);this .a = a;this .b = b;this .c = c;this .s = s;public void setA( double a) this .a = a;public double getA() return a;public void setB(double b) this .b = b;public double getB() return b;public void setC( double c)this .c = c;public double getC() return c;public double getTriangleArea()return

9、 Math. sqrt(s*(s- a)*(s- b)*(s- c);public double getTrianglePerimeter() return a + b + c;public String toString()return "The Area is:" + getTriangleArea()+ "nThe Perimeter is:" + getTrianglePerimeter(); Main 包package Main;import Class.Shape;import Class.Circle;import Class.Rectan

10、gle;import Class.Triangle;import java.util.Scanner;public class test public static void main(String口 args) Scanner input = new Scanner(System. in);System.out.print("请输入圆的半径:");double radius = input.nextDouble();Circle circle = new Circle(null , radius);System. out .println(circle.toString(

11、);System.out .print( "n 请输入矩形的宽:");double width = input.nextDouble();System. out .print("请输入矩形的高:");double height = input.nextDouble();Rectangle rectangle = new Rectangle( null , width, height);System. out .println(rectangle.toString();System.out .print( "n请输入三角形的第一条边a:"

12、;);double a = input.nextDouble();System.out .print("请输入三角形的第二条边b:");double b = input.nextDouble();System.out .print("请输入三角形的第三条边c:");double c = input.nextDouble();double s = (a + b + c)/2;Triangle triangle = new Triangle( null , a, b, c, s);System. out .println(triangle.toString();运行结果为:请输入圆的半役:如 The Acea is:314,0 工he Perimeter 工m;石Z.8OQ0QQQQ0QQQQQq请输入矩形的宽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论