姓名学号专业班级
课程名称JAVA程序设计B实验名称面向对象程序设计实验日期
同组人员指导教师
得分
实验目的
1、熟悉类的多态性及继承
2、了解通过定义类支持面向对象的继承性
3、掌握子类构造方法的定义与执行
4、掌握了类成员的重载与覆盖
实验内容
1、设计一个复数类,其中包括能够反映复数特征的属性与操作行为,然后再设计一个测试类,检测复数类的使用情况。
实现代码如下:
publicclassComplex{
doublea;
doubleb;
publicComplex(){a=0;b=0;}
publicComplex(doublea,doubleb){this.a=a;this.b=b;}
publicvoidprin(){System.out.println(a+"+"+b+"i");}
publicvoidadd(Complexc){a+=c.a;b+=c.b;}
}
publicclassTest{
publicstaticvoidmain(String[]args){
Complexc1=newComplex(2,5);
Complexc2=newComplex(4,5);
j1other=(jh)otherObject;
if(No==other.No){
publicvoidsetBirthday(intyear,intmonth,intday){
this.birthday=newDate(year,month-1,day);
publicDategetBirthday(){returnbirthday;}
publicbooleanequals(ObjectotherObject){
if(this==otherObject){
returntrue;
}
if(otherObject==null){
returnfalse;
}
returnfalse;
}
}
publicStringtoString(){
return"\nNo:"+No+"\nName:"+name+"\nSex:"+sex+"\nBrithday:"+String.format("%tF",birthday);
}
(2)定义教师类TeacherClass的程序代码:
publicclassTeacherClassextendsj1{
privateStringdepartment;
privateStringduty;
privatedoublesalary;
publicTeacherClass(){super();}
publicTeacherClass(intNo,Stringname,booleansex,intyear,intmonth,intday,Stringdepartment,Stringduty,doublesalary){
super(No,name,sex,year,month,day);
this.department=newString(department);
this.duty=newString(duty);
this.salary=salary;
System.out.println(info[1]);
}
运行的程序如下图所示:
心得体会小结
通过本次实验,掌握了对类的多态性及继承,了解通过定义类支持面向对象的继承性和类成员的重载与覆盖等知识。在本次实验中,刚开始,我操作上就犯了一点错误,我仅创建了一个复数类,并且将测试类建在该类下,运行后发现了错误。而且也常常会把代码输错。通过自己的细心检查和老师的讲解后才得以成功,总之这次的实验让我收获了很多。
returntrue;
}else{
c1.add(c2);c1.prin();
publicbooleangetSex(){returnsex;}
}
}
运行结果如下:
设计学校的人事管理系统
实现代码如下:
(1)、importjava.util.;
publicclassj1{
privateintNo;
privateStringname;
privatebooleansex;
privateDatebirthday;
publicj1(){}
publicj1(intNo,Stringname,booleansex,intyear,intmonth,intday)
{
this.No=No;
this.name=newString(name);
this.sex=sex;
this.birthday=newDate(year,month-1,day);
}
publicvoidsetNo(intNo){this.No=No;}
publicvoidsetName(StringName){this.name=newString(name);}
publicvoidsetSex(booleansex){this.sex=sex;}
returnsuper.toString()+"\nDepartment:"+department+"\nDuty:"+duty+"\nSalary:"+salary;
jh[]info=newjh[3];
}
publicintgetNo(){returnNo;}
publicStringgetName(){returnname;}
}
/
@paramargs
/
}
}
}
publicvoidsetDepartment(Stringdepartment){
this.department=newString(department);
}
publicvoidsetDuty(Stringduty){this.duty=newString(duty);}
publicvoidsetSalary(doublesalary){this.salary=salary;}
publicStringgetDepartment(){returndepartment;}
publicStringgetDuty(){returnduty;}
publicdoublegetSalary(){returnsalary;}
publicStringtoString(){
(4)检验多态性效果的测试类TestPersonClass的程序代码:
publicclassTestPersonClass{
/
@paramargs
/
publicstaticvoidmain(String[]args){
info[0]=newjh(1,"wang",true,88,10,2);//TODOAuto-generatedmethodstub
info[1]=newTeacherClass(2,"zhang",true,70,8,12,"software","professor",5000.0);
info[2]=newStudentClass(3,"sun",false,87,3,22,"compter",610);
for(inti=0;i
教务处制
|
|