实验报告二 类和对象 截止时间9月30日 |
您所在的位置:网站首页 › 编写java源程序 › 实验报告二 类和对象 截止时间9月30日 |
一、实验目的及要求
1.实验目的
1)掌握Java语言中类的定义、基本格式、构造方法和对象的建立等。 2)掌握Java语言中三大特性中的封装性,用类封装对象的属性和行为。 3)掌握类方法与实际方法的区别,同时了解类变量与实际变量的区别。 4)掌握Java中方法的几乎所有参数的传值机制和不同类型参数的传值。 5)掌握方法的重载,体会多态思想的运用。 2.实验要求1) 理解并掌握类与对象的各种基本概念,要求会定义类和创建对象。 2)了解并使用类的构造方法,了解有参构造与无参构造的区别,定义类并创建对象。 3)熟悉Java语言中的三大特性特点,并在实验步骤中体现封装性。 4)实验中实现并显示类方法与实际方法的区别。 5) 在实验步骤和代码中体现方法的参数传递等。 6)将实验中的心得体会和代码实现过程中出现的错误进行分析、总结,并完成实验报告。 3.上机实验内容:1)定义类和创建对象,完成方法重载操作 2)通过对象的组合、参数传值,完成具体程序功能 3)或者通过类与对象展示类变量与实例变量、以及类方法与实例方法之间的区别 4)完成实验报告。 二、实验环境工具、配置等 硬件要求:计算机一台 软件要求:Windows操作系统,使用Java语言,集成开发环境不限,建议使用如Eclipse、MyEclipse或IntelliJ IDEA等。 三、实验内容 实验方案1. 现有 Teacher 类和 Student 类继承 User 类,User 类及其子类均通过 work() 方法来进行工作,教师给学生上课,则是教师和学生都调用 work()方法,请实现 Teacher 类和 Student 类的 work() 方法。 (本题实现:定义类,创建对象,方法重载,参数传值,实现程序具体功能,体现面向对象编程中类的继承思想) 运行正确的代码后,控制台应返回结果: Tom is learning Jerry is teaching2. 课本例题8.圆锥的底是一个圆,即圆锥有一个圆形的底。圆锥对象在计算体积时首先委托圆锥的底 bottom(一个circle 对象)调用getArea()方 法计算底的面积,然后圆锥对象再计算出自身的体积 四、实验结果与分析实验思路: 1. 创建user类作为基类,定义work方法和behavior变量 2. 编写student和teacher类 3. 在主函数中调用子类的方法完成要求 运行结果截图:
实验思路 1. Circle类创建圆的对象。 2. Circular 类创建圆锥对象,Circular类将Circle类声明的对象作为自己的一个成员。 3. 圆锥通过调用方法将某个圆的引用传递给原罪的Circle类型的成员变量。 运行结果截图: 第一题 //User.java public class User { String name = new String(); String behavior = new String(); public static void main(String[] args) { Teacher tom = new Teacher("tom"); tom.work(); System.out.println("tom is " + tom.behavior); Student jerry = new Student("jerry"); jerry.work(); System.out.println("jerry is "+jerry.behavior); } } //Teacher.java public class Teacher extends User { public Teacher(String name) { this.name = name; } public void work(){ behavior="teaching"; } } //Student.java public class Student extends User { public Student(String name) { this.name = name; } public void work(){ behavior="learning"; } }第二题 //Main.java public class Main { public static void main(String[] args) { Circle circle=new Circle(); circle.setRadius(10); Cirular circlal=new Cirular(); System.out.println("circle的引用"+circle); System.out.println("圆锥的bottom的引用"+circlal.bottom); circlal.setHeight(5); circlal.setBottom(circle); System.out.println("circle的引用:"+circle); System.out.println("圆锥的bottom的引用"+circlal.bottom); System.out.println("圆锥的体积"+circlal.getVolume()); System.out.println("修改circle的半径,bottom的半径同样变化"); circle.setRadius(20); System.out.println("bottom的半径:"+circlal.getBottomRadius()); System.out.println("重新创建circle,circle的引用将变化"); circle=new Circle(); System.out.println("circle的引用:"+circle); System.out.println("但是不影响circular的bottom的引用"); System.out.println("圆锥的bottom的引用:"+circlal.bottom); } } //Cirular.java public class Cirular { Circle bottom; double height; void setBottom(Circle c){ bottom=c; } void setHeight(double h){ height=h; } double getVolume(){ if(bottom==null) return -1; else return bottom.getArea()*height/3.0; } double getBottomRadius(){ return bottom.getRadius(); } public void setBottomRadius(double r){ bottom.setRadius(r); } } //Circle.java public class Circle { double radius,area; void setRadius(double r){ radius=r; } double getRadius(){ return radius; } double getArea(){ area=3.14*radius*radius; return area; } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |