好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验指导书:实验7--继承与多态(一)(共14页).docx

14页
  • 卖家[上传人]:des****85
  • 文档编号:242279131
  • 上传时间:2022-01-18
  • 文档格式:DOCX
  • 文档大小:173.83KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 精选优质文档-----倾情为你奉上西 安 邮 电 大 学(计算机学院)面向对象程序设计JAVA课内实验报告实验名称: 继承与多态(一)专业名称: 软件工程班 级: 软件1501学生姓名:冀潘婷学号(8位):指导教师:张德慧实验时间:2016.10.21一. 实验目的及实验环境 1理解子类、父类的概念,掌握子类继承父类的方法 2理解成员变量的隐藏和方法重写 3会使用super关键字操作被隐藏的成员变量和方法 4了解final类和final方法的作用 5理解protected修饰符的作用和用法二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容)1)类的继承:定义子类2)使用super关键字调用父类方法3)方法覆盖overriding:覆盖Object类的toString( )方法4)练习使用ArrayList类的方法5)练习覆盖Object类的equals( )方法 2 综合实验:2.1 (Y. Daniel Liang英文版八版P403:11.1) (The Triangle class) Design a class named Triangle that extends GeometricObject. The class contains:■ Three double data fields named side1, side2, and side3 with default values 1.0 to denote three sides of the triangle.■ A no-arg constructor that creates a default triangle.■ A constructor that creates a triangle with the specified side1, side2, and side3.■ The accessor methods for all three data fields.■ A method named getArea() that returns the area of this triangle.■ A method named getPerimeter() that returns the perimeter of this triangle.■ A method named toString() that returns a string description for the triangle.For the formula to compute the area of a triangle, see Exercise 2.21. The toString() method is implemented as follows:return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3;Draw the UML diagram for the classes Triangle and GeometricObject.Implement the class. Write a test program that creates a Triangle object with sides 1, 1.5, 1, color yellow and filled true, and displays the area, perimeter, color, and whether filled or not. (不要求画出UML图)2.2 (Y. Daniel Liang英文版八版P403:11.2) (The Person, Student, Employee, Faculty, and Staff classes) Design a class named Person and its two subclasses named Student and Employee.Make Faculty and Staff subclasses of Employee. A person has a name, address, phone number, and email address. A student has a class status (freshman, sophomore, junior, or senior). Define the status as a constant. An employee has an office, salary, and date hired. Define a class named MyDate that contains the fields year, month, and day. A faculty member has office hours and a rank. A staff member has a title. Override the toString method in each class to display the class name and the person’s name.Draw the UML diagram for the classes. Implement the classes. Write a test programthat creates a Person, Student, Employee, Faculty, and Staff, and invokes their toString() methods. (不要求画出UML图)2.3 (Y. Daniel Liang英文版八版P404:11.5) (The Course class) Rewrite the Course class in Listing 10.6. Use an ArrayList to replace an array to store students. You should not change the original contract of the Course class (i.e., the definition of the constructors and methods should not be changed).3. 测试数据及运行结果4. 源代码5. (1).package eightWeek;public class dfg { public static void main(String[] args) { // TODO Auto-generated method stub Triangle triangle = new Triangle(1,1.5,1,"yellow",true); System.out.println("The triangle of Area:"+triangle.getArea()); System.out.println("The triangle of perimeter:"+triangle.getPerimeter()); System.out.println("color:"+triangle.getColor()); System.out.println("color is filled or not?"+triangle.isFilled()); }} class Triangle extends GeometricObject{ double side1=1.0; double side2=1.0; double side3=1.0; public Triangle(double side1,double side2,double side3){ this.side1=side1; this.side2=side2; this.side3=side3; } public double Getside1(){ return side1; } public double Getside2(){ return side2; } public double Getside3(){ return side3; } public double getPerimeter() { return this.side1 + this.side2 + this.side3; } public double getArea() { double p = this.getPerimeter() / 2; double ss = p * (p - this.side1) * (p - this.side2) * (p - this.side3); double s = Math.sqrt(ss); return s; } public Triangle(double side1, double side2,double side3,String color, boolean filled){ this.side1=side1; this.side2=side2; this.side3=side3; this.color=color; super.setFilled(filled); } public String getString() { return "Triangle:" + this.side1 + "," + this.side2 + "," + this.side3; }} class GeometricObject{ public String color="white"; public boolean filled; public java.util.Date dateCreated; GeometricObject(){ } public GeometricObject(String color,boolean filled){ dateCreated = new java.util.Date(); this.color=color; this.filled=filled; } public String getColor(){ return color; } public void setColor(String color){ this.color=color; } public boolean isFilled(){ return filled; } public void setFilled(boolean filled){。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.