汽油降价了吗-3d打印概念
班级:
学号:
姓名:
实验三 面向对象程序设计
一 实验要求
1、编写Java应用程序,完成类、对象的创建及使用;完成成员方法和构 造方法的创建
及使用。
2、掌握权限访问控制符public和private的用法;实现 类的继承;实现变量的隐藏和方
法的重写;实现成员方法和构造方法的重载;掌握多态的意义,学会多态 在程序设计中的应
用。
3、编写Java应用程序,完成接口的实现;体会抽象类和接口的区 别;体会接口的继承
原理;将接口和类分别定义在不同的包中,掌握包的使用。
二 实验内容
1、定义一个学生类,为其添加成员变量为学号、年龄、姓名、班级和学校,其中学号
为最终变 量,学校为类变量;为其添加构造方法以完成对学生对象的初始化;为其添加成员
方法getInfo( ),作用是获取学生的所有信息;在main中创建一个学生对象,并验证学生
类中所有方法。
package package1;
public class StudentsClass {
**
* @param args
*
private String number;
private int age;
private String name;
private String classs;
static String school=合肥师范学院
public StudentsClass(String number,String name,int age,String classs){
=number;
=age;
=name;
=classs;
}
public void get(){
n(学号:
n(姓名:
n(年龄:
n(班级:
n(学校:
}
public static void main(String[] args) {
TODO Auto-generated method stub
StudentsClass stu=new StudentsClass(计算机科学与技
班级:
学号:
姓名:
术
();
}
}
2、 在第一题的基础上,添加三个成员方法以用来改变年龄、姓名、班级的值;添加五
个成员方法以用来分别 获取学号、年龄、姓名、班级和学校的值;在main中创建一个学生
对象,并验证这些方法。
package package1;
public class StudentsClass2 {
**
* @param args
*
private String number;
private int age;
private String name;
private String classs;
static String school=合肥师范学院
public StudentsClass2(String number,String name,int age,String classs){
=number;
=age;
=name;
=classs;
}
public void get(){
n(学号:
n(姓名:
n(年龄:
n(班级:
n(学校:
}
添加三个成员方法以用来改变年龄、姓名、班级的值;
public void setAge(int age){
=age;
}
public void setName(String name){
=name;
}
public void setClasss(String classs){
=classs;
}
班级:
学号:
姓名:
添加五个成员方法以用来分别获取学号、年龄、姓名、班级和学校的值;
public static String getNumber(String number){
return number;
}
public static int getAge(int age){
return age;
}
public static String getName(String name){
return name;
}
public static String getClasss(String classs){
return classs;
}
public static String getSchool(String school){
return school;
}
public static void main(String[] args) {
TODO Auto-generated method stub
StudentsClass2 stu=new StudentsClass2(计算机科学与
技术
获取没有修改前的信息,利用五个成员方法分别获取
n(修改前的信息:
n(学号是:
n(年龄为:
n(姓名是:
n(班级为:计算机科学与技术
n(学校是:合肥师范学院
n(
n(
获取在修改之后的信息,利用两个成员方法进行修改
e(
(22);
sss(软件工程
();
}
}
3、修改学生类中成员的访问权限,体会public和private两种访问权限的用法。
package classtest;
public class StudentsClass3 {
班级:
学号:
姓名:
**
* @param args
*
public String number;
public int age;
public String name;
public String classs;
static String school=合肥师范学院
public StudentsClass3(String number,String name,int age,String classs){
=number;
=age;
=name;
=classs;
}
public void get(){
n(学号:
n(姓名:
n(年龄:
n(班级:
n(学校:
}
添加三个成员方法以用来改变年龄、姓名、班级的值;
public void setAge(int age){
=age;
}
public void setName(String name){
=name;
}
public void setClasss(String classs){
=classs;
}
添加五个成员方法以用来分别获取学号、年龄、姓名、班级和学校的值;
public static String getNumber(String number){
return number;
}
public static int getAge(int age){
return age;
}
public static String getName(String name){
return name;
}
public static String getClasss(String classs){
班级:
学号:
姓名:
return classs;
}
public static String getSchool(String school){
return school;
}
public static void main(String[] args) {
TODO Auto-generated method stub
StudentsClass3 stu=new StudentsClass3(计算机科学
与技术
获取没有修改前的信息,利用五个成员方法分别获取
n(修改前的信息:
n(学号是:
n(年龄为:
n(姓名是:
n(班级为:计算机科学与技术
n(学校是:合肥师范学院
n(
n(
获取在修改之后的信息,利用两个成员方法进行修改
e(
(22);
sss(软件工程
();
}
}
4、定义一个People类,它包含属性有姓名n ame和性别sex,为People类派生出一个
子类Employee类,为其增加两个属性年龄a ge和工资等级grade,工资等级分A、B、C三
个等级,在子类中增加用于打印出员工的姓名、性 别、年龄和工资等级的方法print,编写
一个应用程序,测试定义的类。
package classtest;
定义一个People类,它包含属性有姓名name和性别sex,
class People{
String name;
String sex;
}
为People类派生出一个子类Employee类,为其增加两 个属性年龄age和工资等级grade
class Employee extends People{
public int age;
班级:
学号:
姓名:
public String grade;
构造方法,,,添加异常处理机制,防止等级输入中出现除ABC之外的等级
public Employee(String name,String sex,int age,String grade) throws Exception{
if(grade==
=name;
=sex;
=age;
=grade;
}
else{
n(等级输入有误!
wait();
}
*=name;
=sex;
=age;
=grade;*
}
public void print(){
n(姓名是:
n(性别是:
n(年龄是:
n(等级是:
}
}
public class PeopleTest4 {
**
* @param args
* @throws Exception
*
public static void main(String[] args) throws Exception {
TODO Auto-generated method stub
Employee e=new Employee(
();
}
}
5、定义一个People类,它包含属性有姓名name和性 别sex和年龄age,一个构造方法,
用来初始化这三个属性;定义一个People类的子类Stu dent,添加一个属性学好number,添
加两个构造方法,一个有参构造方法,一个无参构造方法 ,他们都要调用父类的构造方法或
本类的构造方法来完成对象的初始化,添加两个成员方法,一个事选课 choose(),用来输出
“我没有选课”,另一个是选课choose(String),用来选择 由参数指定的课程。
班级:
学号:
姓名:
package classtest;
定义一个People类,它包含属性有姓名name和性别sex和年龄ag e,一个构造方法,
用来初始化这三个属性;
class People{
String name;
String sex;
int age;
一个构造方法,用来初始化这三个属性;
public People(){}无参构造方法
public People(String name,String sex,int age){
=name;
=sex;
=age;
}
}
class Student extends People{
private String number;
无参构造方法
public Student(){
super();
}
有参构造方法
public Student(String name, String sex, int age,String number) {
super(name, sex, age);
=number;
}
public void choose(){
n(我没有选课
}
public void choose(String choose){
n(我的选课是:
}
public void print(){
n(姓名是:
n(性别是:
n(年龄是:
n(学号是:
}
}
public class PeopleTest5 {
**
班级:
学号:
姓名:
* @param args
*
public static void main(String[] args) {
TODO Auto-generated method stub
Student stu=new Student(旺财男
();
n(华丽的分割线------------------
n(第一种情况,没有选课时的信息:
();
n(华丽的分割线------------------
n(第二种情况,选了课程时的信息:
(
}
}
6、创建一个接口Shape,其中有抽象方法area,类Circle、Re ctangle实现area方法计
算其面积并返回,又有Star类实现Shape的area方法, 其返回值是0,Star类另有一返回值
boolean型的方法isStar;在main方法中创建 一个数组,根据随机数向其中加入Shape的不
同子类对象,然后将数组元素依次取出,判断其是否为 Star类,如是返回其个数,否则返
回其面积。
package test3forjava;
interface Shape{
final static double PI=3.1415926;
double area();
}
class Circle implements Shape{
double r;
public Circle(){}
public Circle(double r){
this.r=r;
}
public double area(){
return PI*r*r;
}
}
class Rectangle implements Shape{
double a;
double b;
public Rectangle(double a,double b){
班级:
学号:
姓名:
}
this.a=a;
this.b=b;
}
public double area(){
return a*b;
}
class Star implements Shape{
public double area(){
return 0;
}
public static boolean isStar(Shape s){
return (s instanceof Star) ? true: false;
}
}
public class ShapeForInterface {
public static void main(String[] args) {
Circle c=new Circle(5);
Rectangle l=new Rectangle(3,4);
Star star=new Star();
Shape[] array={c,star,star,l,star,star};
for(int i=0,j=1; i<; i++)此处可进行改进,提高效率
{
if((array[i]))
n( Star:
else
n(
}
}
}
三 实验内容中遇到的问题、解决方法和体会。
答:实验中遇到的0题:
1、问题:个实验中,对于等级的含义不明确,一直在思考是不是等级先要定义好
或者输入时附带
解决办法:仔细审题,后查阅相关资料,确定最终的情况,之后在仔细的书写代码,
解决问题。
班级:
学号:
姓名:
2、在第六题中 ,对接口和抽象类不是太熟悉,导致写代码解决问题时,出现问题,
还有在异常处理方面出现一定的问题 ,比如说try….catch 的使用规范化
解决办法:仔细的看课本,然后在根据题目,一步一步的解决问题,最后得到正确
的结果。
劳动法全文-约法三章
钢卷-肖聪
huola-核心资本充足率
关于学习的名人名言-最快的火车
拿撒勒人耶稣-电学知识
北京市教育委员会-澳门八国联军
二进制转八进制-老爸快跑
荷斯坦奶牛-外遇的好日子
本文更新与2020-12-13 14:50,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/481534.html
-
上一篇:合肥师范学院操作系统实验项目五
下一篇:中国象棋教学计划与教案