欢迎来到天天文库
浏览记录
ID:18542423
大小:123.50 KB
页数:16页
时间:2018-09-18
《实验3 面向对象程序设计基本操作(上)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录一.实验目的2二.实验要求2三.实验内容2(一)类的抽象、封装和重载21.定义及测试类22.完善学生类――带setter和getter方法33.完善学生类――带构造方法。54.完善类――用static自动生成学号75.完善类――方法重载96.this应用11四.练习题14实验三面向对象程序设计基本操作(上)――类与对象的基本概念一.实验目的二.实验要求三.实验内容(一)类的抽象、封装和重载[案例]学生类1.定义及测试类定义一个Student类来描述学生,每个学生对象都包含如下信息:int类型的id(学号)、St
2、ring类型的name(姓名)、double类型的grade(成绩)和int类型的age(年龄)。编写一个测试类TestStudent来测试该Student类。程序与注释:classStudent{//类首部intid;//学号Stringname;//姓名intage;//年龄doublegrade;//成绩}//类定义结束publicclassTestStudent{publicstaticvoidmain(String[]args){Students1;//声明对象s1=newStudent();//创建对象
3、并为引用变量赋值Students2=newStudent();//声明并创建对象s1.id=1;//为对象的成员变量id赋值s1.name="Tom";s1.grade=88;s1.age=18;s2.id=2;s2.name="Mary";s2.grade=90;s2.age=21;System.out.println("学号t姓名t成绩t年龄");System.out.println(s1.id+"t"+s1.name+"t"+s1.grade+"t"+s1.age);System.out.prin
4、tln(s2.id+"t"+s2.name+"t"+s2.grade+"t"+s2.age);}//main方法结束}//TestStudent类结束2.完善学生类――带setter和getter方法修改上述的Student类,添加getter和setter方法以避免用户直接操作对象的数据。要点解析:在上述的Student类中,各成员变量可被外界直接访问,导致赋值时可能超出其数值范围。如:s1.age=-5;s1.grade=-100。一般来说,把实例成员变更声明为private的隐藏起来,同时提供publi
5、c的get方法及set方法访问它们。程序与注释:classStudentV2{//声明StudentV2类privateintid;//学号,将成员变量的访问权限设为private以实现信息隐藏的目的privateStringname;//姓名privateintage;//年龄privatedoublegrade;//成绩publicintgetId(){//提供公有的(public)方法以使外界可以访问成员变量returnid;}publicvoidsetId(intstuId){id=stuId;}publi
6、cStringgetName(){returnname;}publicvoidsetName(StringstuName){name=stuName;}publicintgetAge(){returnage;}publicvoidsetAge(intstuAge){if(stuAge<0
7、
8、stuAge>100)//对传入的stuAge参数的值进行范围检查age=0;elseage=stuAge;}publicdoublegetGrade(){returngrade;}publicvoidsetGrade(doub
9、lestuGrade){if(stuGrade>100
10、
11、stuGrade<0)//对传入的stuGrade参数的值进行范围检查grade=0;elsegrade=stuGrade;}}//类StudentV2定义结束publicclassTestStudentV2{publicstaticvoidmain(String[]args){StudentV2s1=newStudentV2();//声明并创建对象StudentV2s2=newStudentV2();//声明并创建对象s1.setId(1);s1.setN
12、ame("Tom");s1.setGrade(88);s1.setAge(18);s2.setId(2);s2.setName("Mary");s2.setGrade(90);s2.setAge(21);System.out.println("学号t姓名t成绩t年龄");System.out.println(s1.getId()+"t"+s1.get
此文档下载收益归作者所有