实验项目名称

继承和多态

( 所属课程 :

Java 语言程序设计

)

院 系:

专业班级:

姓 名:

学号:

实验地点:

指导老师:

本实验项目成绩:

教师签字:

日期:

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

程序代码为:

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 getColor(){

return 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;

}

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()

+ "\nThe Perimeter is:" + getCirclePerimeter();

}

}

package Class; public class Rectangle extends Shape{

private 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.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(){

return "The Area is:" + getRectangleArea()

+ "\nThe Perimeter is:" + getRectanglePerimeter();

}

}

package Class; public class Triangle extends Shape{

private double a;

private double b;

private double c;

private double s;

public Triangle(String color,double a,double b,double c, double s){

super(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 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.Rectangle; 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());

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:

");

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());

}

}

运行结果为:

4.实验总结

(1)通过实验掌握了类的继承机制。

(2)熟悉了类中成员变量和方法的访问控制。

(3)了解了方法或构造方法多态性。

java继承和多态的实验报告_JAVA,继承和多态实验报告相关推荐

  1. java继承和多态的实验报告_Java继承与多态实验报告.doc

    Java继承与多态实验报告 西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: 继承与多态 专业名称: 计算机科学与技术 班 级: 计科1405班 学生姓名: 高宏伟 学 号: 指导教师 ...

  2. java 类与对象实验报告_java类与对象实验报告

    java类与对象实验报告 西 安 邮 电 大 学(计算机学院)课内实验报告实验名称: 类与对象 专业名称: 计算机科学与技术班 级: 计科1405班 学生姓名: 高宏伟 学 号: 04141152指导 ...

  3. java类对象实验问题_Java类与对象实验答案

    Java类与对象实验答案Tag内容描述: 1.Java实验报告 计科.信工版2013-2014-2 实验报告 一.实验项目:类与对象 二.实验目的: 1. 学会使用类来封装对象的属性和功能 2. 掌握 ...

  4. java继承机制实验报告_JAVA继承实验报告.doc

    JAVA继承实验报告 JAVA语言程序设计 实验报告 实验一 实验题目: 面 向 对 象 编 程 指导老师: 卢照 专业班级:计算机科学与技术系1106班 姓 名:*****) 2014年3月20日 ...

  5. java销售管理系统实验报告_java学生通讯录管理系统实验报告

    java学生通讯录管理系统实验报告 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 宁波大红鹰学院 课课程程设设计计课程设计名称: ...

  6. java猜数字游戏实验报告_java猜数游戏实验报告.doc

    java猜数游戏实验报告 课 程 设 计 报 告 课程设计名称 Java程序设计-猜数游戏 指导教师 钟世刚 专业 班级 信息安全 学 号 姓 名 成 绩 一.设计任务与要求1 1.1 设计任务与要求 ...

  7. java商品信息管理实验报告_java学生信息管理系统实验报告

    java学生信息管理系统实验报告 JAVA 程序设计实验报告学 号:姓 名: 班 级: 实验.Java 课程设计--------学生信息管理系统一.实验目的 1. 掌握 Java 基本语法2. 理解面 ...

  8. java字节字符流实验报告_Java第09次实验(IO流)--实验报告

    0.字节流与二进制文件 我的代码 用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.data package test; impor ...

  9. java基础之多态的详细解释_JAVA基础之多态

    下面我为大家讲解一下JAVA基础之多态,希望大家喜欢. 多态就是事物存在的多种形态,比如你在大街上看见一只藏獒,你可以说这只藏獒真凶猛,也可以说这只狗真凶猛,还可以说这个动物真凶猛,以上三种说法其实都 ...

最新文章

  1. Windows SQL Server 2008 群集(摘自网络)
  2. 关于fullcalendar里显示json格式的events(java)
  3. python中的re模块——正则表达式
  4. 【示例】Lucene创建索引库编程步骤
  5. python算法与数据结构-归并排序算法
  6. 合肥工业大学宣城校区大学生创新创业训练项目申报书:“基于Spark平台的人工智能知识的知识图谱构建”...
  7. 博为峰JavaEE技术文章 —— Hibernate域模型(2)
  8. 读书笔记2013第18本:《像外行一样思考,像专家一样实践》
  9. Web前端笔记-解决Vue编写的输入框(input、textarea等)使用JS设置value时提交表单无效的问题
  10. Flink部署、使用、原理简介
  11. 腾讯网游加速器大升级!5月31日起仅支持国服游戏加速 你用过吗?
  12. 从智能门锁,看3D视觉的安全性突围
  13. JDBC驱动连接SQLserver数据库
  14. 计算机老是蓝屏需要重新启动3,电脑蓝屏重启,教您电脑经常自动蓝屏重启怎么办...
  15. 矩阵相乘求导(转载)
  16. Hibernate(9)_多对一的关联映射
  17. 泰坦尼克号幸存者逻辑回归预测
  18. 加拿大低龄高中留学规划与过程管理三个关键点
  19. 程序人生 - 敬酒常识
  20. P1717 Finger guessing

热门文章

  1. 使用XML模板在excel进行配置
  2. Twitter Storm常见模式
  3. 基于SSM实现医院疫情管理系统
  4. Flink 1.3.2 Standalone模式安装
  5. springboot 防重复 提交
  6. spring @Value 获取配置文件为 null 常见的几种方式
  7. c语言学习笔记-if语句块一定要加分号
  8. windows python MySQL-python安装过程
  9. numpy库:常用基本
  10. CALayer 知识:创建带阴影效果的圆角图片图层和创建自定义绘画内容图层