实验六类的继承性和多态性【开发语言及实现平台或实验环境】Windows2000或XP,JDK1.6【实验目的】1.掌握OOP方式进行程序设计的方法,2.了解类的继承性和多态性的作用。【实验要求】1.编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序。2.编写体现类多态性(成员方法重载,构造方法重载)的程序。【实验内容】1.假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。程序:classStaff{Stringf(Stringname,Stringid,doublewagers){return员工:+姓名+name+工号+id+工资+wagers;}Stringg(Stringname,Stringid,doublewagers,doublebonus){return经理:+姓名+name+工号+id+工资+wagers+奖金+bonus;}}classManagerextendsStaff{Stringg(Stringname,Stringid,doublewagers,doublebonus){return经理:+姓名+name+工号+id+工资+wagers+奖金+bonus;}}publicclassExample1{publicstaticvoidmain(String[]args){Managercheng;cheng=newManager();System.out.println(cheng.f(成大燕,1101308388,2600));System.out.println(cheng.g(成小燕,1101308326,3000,1000));}}运行结果:2.定义一个自己的数学类MyMath。类中提供静态方法max,该方法接收3个同类型的参数(例如整形),返回其中的最大值。程序:classMyMath{inta,b,c;MyMath(){this.a=a;this.b=b;this.c=c;}staticintmax(inta,intb,intc){intt;if(ab)t=a;elset=b;if(tc)t=c;returnt;}}publicclassExample2{publicstaticvoidmain(String[]args){MyMatha=newMyMath();System.out.println(最大值为:+a.max(4,6,2));}}运行结果:3.以点类作为基类,从点派生出圆,从圆派生圆柱,设计成员函数输出它们的面积和体积。程序:classPoint{protectedintx;protectedinty;Point(){this.x=0;this.y=0;}Point(intx,inty){this.x=x;this.y=y;}}publicclassCircleextendsPoint{protectedintr;Circle(intr,intx,inty){super(x,y);this.r=r;}publicdoublearea(){return3.14*r*r;}}classCylinderextendsCircle{protectedinth;Cylinder(inth,intr,intx,inty){super(r,x,y);this.h=h;}publicdoublevolume(){returnarea()*h;}publicstaticvoidmain(String[]args){Circlek=newCircle(5,8,8);Cylinderl=newCylinder(8,9,10,12);System.out.println(圆的面积为:+k.area());System.out.println(圆柱的体积为:+l.volume());}}运行结果:【实验心得】通过这次的实验,了解类的继承性和多态性的作用,也能很好的运用super的方法,希望以后能多做点实验题目来训练自己。