《内蒙古工业大学Web程序设计实验一报告.doc》由会员分享,可在线阅读,更多相关《内蒙古工业大学Web程序设计实验一报告.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验报告成绩: 指导教师审核(签名): 2011 年 12 月 10 日实验报告实验一 Java的类和对象实验1、 实验目的1) 理解面向对象程序设计的基本思想;2) 掌握类的声明以及对象的创建;3) 掌握类的构造方法的设计;4) 理解面向对象程序设计的三大特征:继承、封装、多态,并掌握其设计方法2、 实验设备与环境硬件:安装有Windows XP系统的微机一台。软件:JDK1.6、MyEclipse 6.0以上。3、 实验内容1) 设计一个Point类,该类包含两个int类型的成员变量:x、y,一个Color类型的成员变量mycolor。请给出此类的构造方法,分别是一个不带参数的,一个带两个
2、参数的,一个带三个参数的构造方法。还要给出对应的get方法和set方法,最后重写equals和toString方法。2) Vector类的使用。要求:编写一个程序,创建Vector类的实例vectorInstance;随机产生0,100之间的3个整数,依次插入到vectorInstance中;将字符串“hello world”,插入到vectorInstance的末尾。将字符A,插入到vectorInstance的第一个位置;在显示器上输出vectorInstance中的所有数据。3) 一个公司,拥有普通员工、行政人员和经理三类员工,全体员工的工资都包括:基本工资、奖金,同时享受医疗保险和劳动
3、保险。行政人员和经理还享受车补;经理还有内部分红。请你为该公司设计一个简单的工资管理程序。4、 实验要求1) 使用继承技术设计相应的类;2) 书写测试主函数并进行测试。5、 实验要求1) 实验前充分预习实验指导书内容及相关理论知识内容;实验时提交本次实验的预习报告。2) 实验中严格遵守实验室规范和制度,调试程序出现的问题并给出解决方法。认真完成实验内容并做好实验纪录3) 实验后必须按照要求独立完成实验报告4) 打印的源程序清单和测试结果附在实验报告的后面。源程序必须有注释以及必要的测试数据和运行结果数据。6.1 PointTest程序清单11) import java.awt.Color;pu
4、blic class PointTest / 定义PointTest测试类public static void main(String args) Point A=new Point();Point B=new Point(10,15);Point C=new Point(11,22,Color.black);System.out.println(A);System.out.println(B);System.out.println(C);A.setColor(Color.red);A.setX(111);A.setY(222);System.out.println(A);class Poin
5、t/定义Point类private int x,y; Color mycolor; public Point()/point类无参构造方法 this(0,0) ; public Point(int xx,int yy)/Point类两参构造方法x=xx;y=yy;public Point(int xx,int yy,Color col)/point类三参构造方法this(xx,yy); mycolor=col;public void setX(int xx)/定义setX()方法,设置X的值x=xx;public int getX()/定义getX(),返回x值的方法return x;publ
6、ic void setY(int yy)/ 定义setY()方法,设置y的值y=yy;public int getY()/定义getY(),返回y值的方法return y;public void setColor(Color col)/设置mycolor属性的方法mycolor=col;public Color getColor()/获得mycolor值的方法return mycolor;public boolean equals(Object obj)/重写Object类的equals()方法if(obj = null)return false;else if(obj instanceof
7、Point)Point p = (Point)obj;if(p.x = x & p.y = y & p.mycolor.equals(mycolor)return true;return false;public String toString()/重写Object类的toString()方法return(x:+this.getX()+n+y:+this.getY()+n+mycolor+this.getColor();6.1程序运行截图:测试数据截图 程序运行结果截图6.2 VectorTest程序清单2 测试数据截图 程序运行结果截图6.3 EmplyeeTest程序清单 public c
8、lass EmplyeeTest public static void main(String args) emplyee em=new emplyee(800,500);/声明并创建em对象manger ma=new manger(800,500,300,200);/声明并创建ma对象administer ad=new administer(800,500,500);/声明并创建ad对象System.out.println(em);em.MedicalInsurance();em.LaborInsurance();System.out.println(ma);/打印出此时ma对象的值ma.M
9、edicalInsurance();ma.LaborInsurance();System.out.println(ad);/打印出此时ad对象的值ad.MedicalInsurance();ma.LaborInsurance();ma.setSlary(1000);ma.setchebu(600);ma.setbonus(450);ma.setinnerbonus(300);System.out.println(ma);/打印出此时ma对象的值ma.MedicalInsurance();ma.LaborInsurance();class emplyee/普通员工类public int base
10、slary;public int bonus;public emplyee()/emplyee类无参的构造方法public emplyee(int baseslary ,int bonus)/emplyee类两参的构造方法this.baseslary=baseslary;this.bonus=bonus;public void setSlary(int slary)/定义setSlary()方法,设置baseSlary的值this.baseslary=slary;public void setbonus(int bou)/定义setbonus()方法,设置bonus的值bonus=bou;pu
11、blic int getbonus()/定义getbonus()方法,返回bonus的值return bonus;public int getSlary()/return baseslary;public void MedicalInsurance()/定义MedicalInsurance()方法System.out.println(享有医疗保险!);public void LaborInsurance()/定义LaborInsurance()方法System.out.println(享有劳动保险);public String toString()/重写Object类toString()方法,
12、打印信息return (员工基本工资:+baseslary+t+分红:+bonus+t+月总工资:+(baseslary+bonus)+n);class administer extends emplyee/定义administer类继承emplyee类public int Chebu;public administer()public administer(int baseslary,int bonus,int chebu)/administer类的构造方法 super(baseslary,bonus);/调用超类emplyee的构造方法 setchebu(chebu );public vo
13、id setchebu(int a )/定义setchebu()方法,设置chebu的值Chebu+=a; public int getchebu()/定义getchebu()方法,返回Chebu的值 return Chebu;public String toString()/重写Object类的toString()方法return (行政人员基本工资:+baseslary+t+分红:+bonus+t+车补:+Chebu+t+总工资:+(baseslary+bonus+Chebu)+t);class manger extends administer/定义manger继承自administer
14、类 private int innerbonus; public manger() ; public manger(int baseslary,int bonus,int Chebu,int innerbonus)/manger类的构造方法 super(baseslary,bonus,Chebu);/调用超类administer的构造方法 setinnerbonus(innerbonus); public void setinnerbonus(int b)/ innerbonus+=b; public int getinnerbonus()/定义getinnerbonus()方法,返回inne
15、rbonus的值 return innerbonus; public String toString()/重写Object类的toString方法 return(经理基本工资:+baseslary+t+分红:+bonus+t+车补:+Chebu+t+内部分红:+innerbonus+t+总工资:+(baseslary+bonus+Chebu+innerbonus)+n); 6.3程序截图 测试数据截图 程序运行结果截图七:实验中存在的问题:(1) 在定义类的时候,弄不清楚该定义那些变量,用什么类型定义更容易编程(2) 在调用超类的构造方法时,弄不清超类与子类构造方法的调用顺序(3) 对类的继承关系了解的不是很透彻八:实验心得体会: 经过本次试验,我学到了不少东西:学会了继承的使用、如何调用超类的构造方法等。确实,把从书本上学到的知识应用到实践中还是有些困难的,而我对书本上的知识并没有真正的掌握,所以在编程的过程中遇到很多的麻烦。在一个试验中,有很多问题出现。让我感受最深的一点是:如果想把一个程序编好,那么你就应该掌握这个实验中涉及的任何知识点,而这些知识点贯穿了我们错学的全部内容,也就是说,你必须把我们所学的全部知识掌握,才会把程序设计好。我感受到了java语言的特点与魅力,感受到了继承特性给编写代码带来的好处,希望将来我能熟练的掌握这门技术,对将来的工作有所帮助。