Java实验 类和对象
- 格式:doc
- 大小:27.44 KB
- 文档页数:3
实验1. Java 的类和对象实验
实验目的:熟悉Java 的类和对象的概念。
实验内容:设计一个大学生类,包括学生的学号、姓名、性别、出生日期、生源地、所在学校、学院、专业、及所学课程的名称、成绩,等信息;能够实现:(1)显示学生的所有信息;
(2)统计学生课程成绩的平均分、最高分、最低分;(3)自动对挂科多的学生提出警告等功能;
(4)可以根据学号来查询学生的课程成绩。
实验要求:掌握Java 类和对象的使用。
提醒:采用方式1从键盘接收字符;验收时,实验1至少输入3名学生的信息,每个学生至少包括3门课程。
实验2. Java 的继承和多态实验
实验目的:熟悉Java 的继承和多态的特性。
实验内容:在实验1设计的学生类的基础上,再设计一个研究生类,并给该类添加研究方向与导师两个属性,采用多态的知识,(1)统计研究生的各科课程成绩的平均分、最高分、最低分,并提示“XXX为研究生”);(2)可以根据学号来查询学生的课程成绩,并提示“XXX 为大学生”或“XXX为研究生”。
实验要求:要求采用继承的方式完成类的设计;掌握Java 继承和多态的使用。
提醒:采用方式1从键盘接收字符;验收时,实验2,至少输入3名大学生与3名研究生的信息,每个学生至少包括3门课程。
类与对象实验报告类与对象实验报告引言:类与对象是面向对象编程的基本概念,通过定义类和创建对象,可以实现对数据和行为的封装,使程序更加模块化和可扩展。
本实验旨在通过实际操作,加深对类与对象的理解,并掌握其基本用法。
实验过程:1. 定义类:在实验开始前,我们首先需要定义一个类。
类是对象的抽象描述,包含了对象的属性和方法。
以汽车为例,我们可以定义一个Car类,其中包含品牌、颜色和速度等属性,以及启动、加速和刹车等方法。
2. 创建对象:在定义了Car类之后,我们可以通过创建对象来实例化该类。
通过使用new关键字,我们可以创建多个汽车对象,每个对象都拥有独立的属性和方法。
例如,我们可以创建一个名为myCar的对象,它是Car类的一个实例。
3. 访问对象的属性和方法:创建了对象之后,我们可以通过点运算符来访问对象的属性和方法。
例如,通过myCar.brand可以获取myCar对象的品牌属性,通过myCar.start()可以调用myCar对象的启动方法。
这样,我们可以通过对象来操作和管理数据,使代码更加清晰和可读。
4. 对象之间的交互:在实际编程中,对象之间经常需要进行交互。
通过在类中定义方法,我们可以实现对象之间的数据传递和信息交流。
例如,我们可以定义一个方法来获取其他汽车对象的速度,并根据这些速度进行比较和判断。
实验结果:通过实验,我们深入了解了类与对象的概念和用法。
通过定义类和创建对象,我们可以更好地组织和管理代码,提高程序的可维护性和可扩展性。
通过访问对象的属性和方法,我们可以实现对数据和行为的封装,使代码更加模块化和易于理解。
通过对象之间的交互,我们可以实现数据的共享和协作,提高程序的效率和灵活性。
实验总结:类与对象是面向对象编程的核心概念,掌握了类与对象的基本用法对于开发高质量的程序至关重要。
通过本次实验,我们加深了对类与对象的理解,并通过实际操作掌握了其基本用法。
在以后的编程过程中,我们可以更加灵活地运用类与对象,提高代码的可读性和可维护性。
java类与对象实验报告心得哇,做完这个Java类与对象的实验,真的是感触颇多呢。
在做这个实验之前呀,对于Java里的类和对象,我就只停留在理论知识上,觉得它们好抽象哦。
什么是类呢?就像是一个蓝图一样,描述了对象应该具有的属性和行为。
可那时候,我对这个概念也只是一知半解啦。
当开始做实验的时候,我才真正体会到其中的乐趣与挑战。
创建类的时候,我要去仔细思考这个类到底需要哪些属性。
就好比我要创建一个表示学生的类,那姓名、年龄、学号这些属性肯定是必不可少的呀。
这就像是在设计一个学生的模板一样,好有趣呢。
定义类中的方法也很有意思。
这些方法就像是这个类的功能一样。
比如说学生类中的学习方法,我可以在这个方法里编写一些代码来表示学生学习的过程。
刚开始写的时候,还老是出错呢,哎呀。
不是语法错误,就是逻辑上有点混乱。
不过这也是学习的过程嘛。
创建对象就像是根据这个蓝图来制造一个具体的东西。
我根据学生类创建了具体的学生对象,每个学生对象都有自己独特的属性值。
这就像是在现实生活中,每个学生都是独一无二的一样。
当我成功创建出这些对象并且让它们执行相应的方法时,那种成就感真的难以言表,哈哈。
在实验过程中,我还深刻体会到了封装的重要性。
把类的属性和方法封装起来,就像是给它们穿上了一层保护罩一样。
这样可以防止外部的代码随意修改类内部的数据,使得代码更加安全和可靠。
这让我觉得Java真的是一门很严谨的编程语言呢。
另外呀,类与类之间的关系也很复杂但又很有趣。
有继承关系,就像儿子类继承父亲类的属性和方法一样。
还有组合关系,一个类可以包含其他类的对象作为自己的属性。
理解这些关系的时候,我费了好大的劲呢,不过一旦理解了,就感觉像是打开了新世界的大门。
这次实验让我对Java类与对象的理解不再停留在书本上的文字,而是真正地可以运用它们来编写程序了。
我觉得自己在编程的道路上又前进了一大步呢。
希望以后还能做更多这样有趣又有挑战性的实验,让我可以更加熟练地掌握Java编程呀。
java类与对象实验报告Java类与对象实验报告一、引言Java是一种面向对象的编程语言,类和对象是Java编程的基本概念。
在本次实验中,我们将学习和掌握Java类和对象的概念、定义和使用方法,并通过实际的编程实验来加深对这些概念的理解。
二、实验目的1. 理解Java类和对象的概念;2. 学会定义和使用Java类;3. 掌握创建和操作Java对象的方法;4. 熟悉Java类和对象的相关语法和规范。
三、实验过程1. 类的定义在Java中,类是对象的模板,用于描述对象的属性和行为。
我们首先需要定义一个类,以便创建对象。
类的定义包括类名、属性和方法。
属性即对象的特征,方法即对象的行为。
2. 对象的创建通过使用关键字"new",我们可以创建一个类的对象。
对象是类的实例化,每个对象都有自己的属性和方法。
3. 对象的属性和方法对象的属性和方法可以通过对象名加点操作符来访问。
属性可以是基本类型或其他类的对象,方法可以是对象的行为或功能。
4. 构造方法构造方法是一种特殊的方法,用于创建对象时进行初始化操作。
构造方法的名称必须与类名相同,没有返回类型,可以有参数。
5. 封装性封装性是面向对象编程的重要特性之一,它将数据和方法封装在类中,对外部隐藏内部实现细节。
通过使用访问修饰符(private, public, protected)来控制属性和方法的访问权限。
6. 继承继承是面向对象编程的另一个重要特性,它允许我们创建一个新类,并从现有类中继承属性和方法。
通过使用关键字"extends"来实现继承。
7. 多态性多态性是面向对象编程的核心概念之一,它允许我们使用一个父类类型的引用来引用子类的对象。
通过方法的重写和重载来实现多态性。
四、实验结果通过本次实验,我们成功定义了一个Java类,并创建了多个对象。
我们可以通过对象名来访问对象的属性和方法,并对其进行操作。
我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。
实验报告一、实验项目:类与对象二、实验目的:1。
学会使用类来封装对象的属性和功能2. 掌握类变量与实例变量,以及类方法与实例方法的区别3。
掌握使用package和import语三、实验器材:计算机、Java编程软件JCreator四、实验原理(或仪器装置图):1. 类与对象类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
类是用来定义对象的模板。
类声明class 类名{类体}对象的声明一般格式为:类的名字对象名字;定义对象引用后,用new运算符完成对象的创建工作,分配存储空间,并对其初始化。
变量名=new 类名([构造方法实参表]);对象的使用访问成员的基本语法形式如下:对象名。
变量成员名对象名.方法成员名([实际参数表])2.成员变量和局部变量成员变量格式:[修饰符] 变量类型变量名[=初值];成员方法:格式:[修饰符]返回值的数据类型方法名(参数1,参数2,…){语句序列;return[表达式];}类中定义的变量是成员变量,而方法中定义的变量是局部变量。
3. 构造方法构造方法是一种特殊的方法,创建对象时被自动调用.与一般的方法不同,它没有返回值类型的说明,方法体中也不可以用return语句带回返回值。
构造方法的方法名与类名相同在构造方法中可以通过this关键字调用该类中其他的构造方法。
4。
包包是Java语言中有效地管理类的一个机制。
①通过关键字package声明包语句。
package 语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包.package语句的一般格式为:package 包名;②import 语句:使用import 语句可以引入包中的类。
五、实验步骤及数据记录:1.定义一个圆柱体类Cylinder,并创建相应的对象,然后计算圆柱体的底面积与体积。
class Cylinder{double radius;int height;double pi=3.14;void area(){System。
一、实验目的掌握类和对象的定义,以及它们之间的关系学习类中属性和方法的设计会用UML图来对类进行描述熟悉修饰符的作用,会用set/get方法对数据进行封装二、实验要求设计一个名为Rectangle的类表示矩形。
这个类包括:∙两个名为width和height的私有double型数据域。
用来表示宽、高。
默认值为1.0。
∙创建默认矩形的无参构造方法。
∙一个创建width和height为指定值的矩形的构造方法。
∙一个名为GetArea()的公有方法返回矩形面积double∙一个静态的Compare方法,比较两个矩形的面积大小是否相等并返回一个布尔型结果,相等返回true,不等返回false;画出UML 类图,实现Rectangle类,编写测试程序创建两个Rectangle类的对象。
第一个对象的width为1,height为1;第一个对象的width为5,height为6。
调用compare方法判断两个矩形是否相等并显示结果。
三、实验内容1.使用Jude工具绘制UML图2.编写代码实现类Rectanglepackage edu.neu.li.test;publicclass Rectangle {privatedouble width;privatedouble height;public Rectangle() {this.width = 1.0;this.height = 1.0;public Rectangle(double width, double height) {this.width = width;this.height = width;}publicdouble GetArea() {returnthis.width * this.height ;}publicstaticboolean Compare(Rectangle rec1, Rectangle rec2) { if(rec1.GetArea()==rec2.GetArea()){returntrue;}returnfalse;}}3.编写测试程序完成功能。
Java Object-Oriented Programming Experimental ReportSystem.out.println ("Your lucky numbers are " + lucky1 + ", " + lucky2+ ", and " + lucky3);}}3.2 Working with Strings(Choose to do)3.3 Rolling Dice3.4 Computing Distance3.5 formatting Output3.6 Playing with Cards(Choose to do)3.7 Experimenting with the Integer Class(Choose to do) 3.8 Nested Panels(1)宽度两倍(4)添加主界面宽度高度设定(5)添加MyPanels4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsSignature:Date:Experimental Report List1Exercises1) Source code list3.3package test_java_03;import java.util.Random;public class point3_3 {public static void main(String[] args) {Random ger = newint lucky1, lucky2, lucky3;lucky1 = ger.nextInt(6)+1;lucky2 = (int)(ger.nextFloat()*6)+1;lucky3 = (int)(ger.nextFloat()*10)+20;System.out.print(lucky1+lucky2);}}3.4package test_java_03;import java.util.Scanner;public class point_3_4 {public static void main (String[] args){double x1, y1, x2, y2;double distance;Scanner scan = new Scanner(System.in);System.out.print ("Enter the coordinates of the first point " + "(put a space between them): ");x1 = scan.nextDouble();y1 = scan.nextDouble();System.out.print ("Enter the coordinates of the second point: ");x2 = scan.nextDouble();y2 = scan.nextDouble();doubley=Math.abs(y2-y1)*Math.abs(y2-y1),x=Math.abs(x2-x1)*Math.abs(x2-x1);double z=Math.sqrt(y+x);System.out.print("The distance between the two points is "+z);}}3.5package test_java_03;import java.util.*;import java.text.NumberFormat;import java.text.DecimalFormat;public class point_3_5 {public static void main (String[] args){final double OUNCES_PER_POUND = 16.0;double pricePerPound;double weightOunces;double weight;double totalPrice;Scanner scan = new Scanner(System.in);NumberFormat money=NumberFormat.getCurrencyInstance();DecimalFormat fmt=new DecimalFormat("0.#####");System.out.println ("Welcome to the CS Deli!!\n ");System.out.print ("Enter the price per pound of your item: ");pricePerPound = scan.nextDouble();System.out.print ("Enter the weight (ounces): ");weightOunces = scan.nextDouble();weight = weightOunces / OUNCES_PER_POUND;totalPrice = pricePerPound * weight;System.out.println("total price is:"+fmt.format(totalPrice));}}3.8(1)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.blue);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(4)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// JPanel subPanel4 = new JPanel();// subPanel4.setPreferredSize(new Dimension(320,20));// subPanel4.setBackground(Color.orange);// JLabel label4 = new JLabel("My Panels");// subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(320,260));//primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(5)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);JPanel subPanel4 = new JPanel();subPanel4.setPreferredSize(new Dimension(320,20));subPanel4.setBackground(Color.orange);JLabel label4 = new JLabel("My Panels");subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(400,400));primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}。
Java类和对象的应用实验总结在Java编程语言中,类(Class)和对象(Object)是两个核心的概念。
类是对象的模板或蓝图,而对象则是类的实例。
通过使用类和对象,我们可以创建具有共享属性和方法的实体,也可以创建具有独特属性和行为的实体。
以下是我对Java类和对象应用实验的一些总结:类的定义和使用:在Java中,我们使用class关键字来定义一个类。
例如,我们可以创建一个名为Person的类,该类具有name、age 和height等属性,以及eat()和sleep()等方法。
我们可以通过创建类的实例(即对象)来使用类。
对象的创建和使用:我们使用new关键字来创建一个类的实例,这个实例就是一个对象。
例如,我们可以创建一个Person类的对象,并通过调用对象的方法来执行特定的行为。
我们也可以通过访问对象的属性来获取或修改对象的状态。
继承:Java中的类可以继承其他类的属性和方法。
通过继承,我们可以创建一个新的类,该类继承了父类的所有属性和方法,并可以添加自己的属性和方法。
这个过程被称为类的扩展或继承。
多态:在Java中,一个对象可以被引用为多种类型。
例如,我们可以有一个父类类型的引用指向一个子类对象。
当调用这个对象的方法时,会根据对象的实际类型来调用相应的方法。
这就是多态性的体现。
封装:封装是Java中一个重要的面向对象编程概念。
通过封装,我们可以将数据(属性)和处理数据的方法(方法)绑定在一起,形成一个独立的实体。
封装的目的是增加安全性和简化性,用户只知道对象提供哪些方法,至于内部的具体实现细节则一概不知。
通过这些实验,我深入理解了Java的类和对象的概念,以及它们在面向对象编程中的重要性。
这些实验也帮助我理解了如何使用类和对象来设计和实现复杂的系统。
1、实验内容1)设计一个Point类,该类包含两个int类型的成员变量:x、y,一个Color类型的成员变量mycolor。
请给出此类的构造方法,分别是一个不带参数的,一个带两个参数的,一个带三个参数的构造方法。
还要给出对应的get方法和set方法,最后重写equals和toString方法。
2)Vector类的使用。
要求:编写一个程序,创建Vector类的实例vectorInstance;随机产生[0,100]之间的3个整数,依次插入到vectorInstance中;将字符串“hello world”,插入到vectorInstance 的末尾。
将字符‘A’,插入到vectorInstance的第一个位置;在显示器上输出vectorInstance中的所有数据。
3)一个公司,拥有普通员工、行政人员和经理三类员工,全体员工的工资都包括:基本工资、奖金,同时享受医疗保险和劳动保险。
行政人员和经理还享受车补;经理还有内部分红。
请你为该公司设计一个简单的工资管理程序。
九、程序清单1>package imut.cstd.j09_2;import java.awt.Color;public class Point {private int x;private int y;private Color mycolor;public Point(){x=0;y=0;mycolor=null;}public Point(int x,int y){this.x=x;this.y=y;}public Point(int x,int y,Color mycolor){this.x=x;this.y=y;this.mycolor=mycolor;}public int getX(){return x;}public int getY(){return y;}public Color getMycolor(){return mycolor;}public void setX(int x){this.x=x;}public void setY(int y){this.y=y;}public void setMycolor(Color mycolor){this.mycolor=mycolor;}public String toString(){return"X="+x+"\n"+"Y="+y+"\n"+"Mycolor="+mycolor;}public boolean equals(Object p){if(p==null)return false;if(!(p instanceof Point))return false;Point temp=(Point)p;if((mycolor==null)&&(temp.mycolor==null)&&(x==temp.x)&&(y==temp.y))return true;if(!(temp.mycolor==null)&&(mycolor.equals(temp.mycolor))&&(x==temp.x)&&(y==t emp.y))return true;else return false;}public static void main(String[] args){Point p=new Point();System.out.println(p);Point p1=new Point(2,2,new Color(45));Point p2=new Point(2,2,new Color(45));System.out.print(p1+"和"+p2+"相等?"+p1.equals(p2) +"\n");Point p3=new Point(5,4);Point p4=new Point(5,4);System.out.print(p3+"和"+p4+"相等?"+p3.equals(p4)+"\n");Point p5=new Point(2,4);Point p6=new Point(5,4);System.out.print(p5+"和"+p6+"相等?"+p5.equals(p6));}}2>package imut.cstd.j09_2;import java.util.Vector;public class Connect {@SuppressWarnings({ "unchecked", "rawtypes" })public static void main(String[] args){Vector vectorInstance = new Vector();vectorInstance.add("A");for(int i=0;i<3;i++){int rand=(int)(Math.random()*101);vectorInstance.add(rand);}vectorInstance.add("hello world");for(int i=0;i<vectorInstance.size();i++)System.out.println(vectorInstance.get(i));}}3>package imut.cstd.j09_2;public class Employee {private float wages;private float reward;private float meinsure;private float lainsure;public Employee(){this(0.0f,0.0f,0.0f,0.0f);}public Employee(float wages,float reward,float meinsure,float lainsure){ this.wages=wages;this.reward=reward;this.meinsure=meinsure;insure=lainsure;}public float getWages(){return wages;}public float getReward(){return reward;}public float getMeinsure(){return meinsure;}public float getLainsure(){return lainsure;}public void setWages(float wages){this.wages=wages;}public void setReward(float reward){this.reward=reward;}public void setMeinsure(float meinsure){this.meinsure=meinsure;}public void setLainsure(float lainsure){insure=lainsure;}public String toString(){return"工资"+getWages()+"\t奖金"+getReward()+"\t医保"+getMeinsure()+"\t劳保"+getLainsure();}public float salarysum(){return getWages()+getReward()+getMeinsure()+getLainsure();}}package imut.cstd.j09_2;public class Officeholder extends Employee{private float chebu;public Officeholder(){this(0.0f,0.0f,0.0f,0.0f,0.0f);}public Officeholder(float wages,float reward,float meinsure,float lainsure, float chebu) {this.setWages(wages);this.setReward(reward);this.setMeinsure(meinsure);this.setLainsure(lainsure);this.chebu=chebu;}public float getChebu(){return chebu;}public void setChebu(float chebu){this.chebu=chebu;}public String toString(){return"工资"+getWages()+"\t奖金"+getReward()+"\t医保"+getMeinsure()+"\t劳保"+getLainsure()+"\t车补"+getChebu();}public float salarysum(){return getWages()+getReward()+getMeinsure()+getLainsure()+getChebu();}}package imut.cstd.j09_2;public class Manager extends Officeholder{private float fenhong;public Manager(){this(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f);}public Manager(float wages,float reward,float meinsure,float lainsure, float chebu,float fenhong) {this.setWages(wages);this.setReward(reward);this.setMeinsure(meinsure);this.setLainsure(lainsure);this.setChebu(chebu);this.fenhong=fenhong;}public float getFenhong(){return fenhong;}public void setFenhong(float fenhong){this.fenhong=fenhong;}public String toString(){return"工资"+getWages()+"\t奖金"+getReward()+"\t医保"+getMeinsure()+"\t劳保"+getLainsure()+"\t车补"+getChebu()+"\t分红"+getFenhong();}public float salarysum(){returngetWages()+getReward()+getMeinsure()+getLainsure()+getChebu()+getFenhong();}}package imut.cstd.j09_2;public class Test3 {public static void main(String[] args) {Employee e=new Employee();System.out.println(e);System.out.println("员工总工资="+e.salarysum());Officeholder o=new Officeholder();System.out.println(o);System.out.println("行政人员工资="+o.salarysum());Manager m=new Manager();System.out.println(m);System.out.println("经理工资="+m.salarysum());Employee e1=new Employee(1500.0f,500f,100.5f,201.6f);System.out.println(e1);System.out.println("员工总工资="+e1.salarysum());Officeholder o1=new Officeholder(1500.0f,500f,100.5f,201.6f,108.5f);System.out.println(o1);System.out.println("行政人员工资="+o1.salarysum());Manager m1=new Manager(1500.0f,500f,100.5f,201.6f,108.5f,1400.9f);System.out.println(m1);System.out.println("经理工资="+m1.salarysum());}}。
一、实验目的
掌握类和对象的定义,以及它们之间的关系
学习类中属性和方法的设计
会用UML图来对类进行描述
熟悉修饰符的作用,会用set/get方法对数据进行封装
二、实验要求
设计一个名为Rectangle的类表示矩形。
这个类包括:
∙两个名为width和height的私有double型数据域。
用来表示宽、高。
默认值为1.0。
∙创建默认矩形的无参构造方法。
∙一个创建width和height为指定值的矩形的构造方法。
∙一个名为GetArea()的公有方法返回矩形面积double
∙一个静态的Compare方法,比较两个矩形的面积大小是否相等并返回一个布尔型结果,相等返回true,不等返回false;
画出UML 类图,实现Rectangle类,编写测试程序创建两个Rectangle类的对象。
第一个对象的width为1,height为1;第一个对象的width为5,height为6。
调用compare方法判断两个矩形是否相等并显示结果。
三、实验内容
1.使用Jude工具绘制UML图
2.编写代码实现类Rectangle
package edu.neu.li.test;
publicclass Rectangle {
privatedouble width;
privatedouble height;
public Rectangle() {
this.width = 1.0;
this.height = 1.0;
public Rectangle(double width, double height) {
this.width = width;
this.height = width;
}
publicdouble GetArea() {
returnthis.width * this.height ;
}
publicstaticboolean Compare(Rectangle rec1, Rectangle rec2) { if(rec1.GetArea()==rec2.GetArea())
{
returntrue;
}
returnfalse;
}
}
3.编写测试程序完成功能。
package edu.neu.li.test.run;
import edu.neu.li.test.Rectangle;
publicclass test4run {
publicstaticvoid main(String[] args)
{
boolean bEqual=false;
Rectangle rec1=new Rectangle();
Rectangle rec2=new Rectangle(5.0,6.0);
bEqual=pare(rec1, rec2);
System.out.println("The Compare Resule is:"+bEqual);
}
}
四、实验结果。