JAVA程序设计题

使用面向对象的方法设计一个应用程序,用来描述人类、学生类、研究生类、老师类和在职研究生老师类的主要权利和义务,可以定义为接口、类或抽象类等。每个类或接口中的常用方法主要有:人包括吃的方法:学生有姓名、性别等属性和学习的方法;研究生中除了具备学生的基本方法外,还和普通学生的学习方法不同;老师有工作的权利,当然在职研究生老师是一种特殊的人群,他们既是老师又是学生。用java中学习的面向对象
的程序设计方法来表示这几类人之间的关系

程序写完了
/////////////////////////////////////////////////
public abstract class Person {
public String name;
public int age;
public String sex;

public Person(){

}
public abstract void eat();

/**
* @return Returns the age.
*/
public int getAge() {
return age;
}
/**
* @param age The age to set.
*/
public void setAge(int age) {
this.age = age;
}
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the sex.
*/
public String getSex() {
return sex;
}
/**
* @param sex The sex to set.
*/
public void setSex(String sex) {
this.sex = sex;
}

}
/////////////////////////////////////////
/**
* 因为学生也是人,所以要继承人的抽象类
* */
public abstract class Student extends Person{
public abstract void study();
}
//////////////////////////////////////
public interface Graduate {
void graduateStudyMethod();
}
/////////////////////////////////////
public class Graduatestudent extends Student implements Graduate{

@Override
public void study() {
System.out.println(getName()+"学生的学习方法");
}

@Override
public void eat() {
System.out.println(getName()+"研究生需要吃饭");
}

public void graduateStudyMethod() {
System.out.println(getName()+"研究生有学习的方法");
}
}

/////////////////////////////////////////
/**
* 因为老师也是人,所以要继承人的抽象类
* */
public abstract class Teacher extends Person{
public abstract void work();
}
//////////////////////////////////////////////
/**
* 老师研究生
* */
public class TeacherGraduate extends Teacher implements Graduate{

@Override
public void work() {
System.out.println(getName()+"老师需要工作");
}

@Override
public void eat() {
System.out.println(getName()+"老师需要吃饭");
}

public void graduateStudyMethod() {
System.out.println(getName()+"老师研究生的学习方法");
}

}
/////////////////////////////////////
简单的测试类
public class Test {
public static void main(String[] args) {
Graduatestudent student = new Graduatestudent();
student.setName("wangwenjun");
student.setAge(24);
student.setSex("男");
student.eat();
student.graduateStudyMethod();
student.study();

TeacherGraduate teacherGraduate = new TeacherGraduate();
teacherGraduate.setName("liuna");
teacherGraduate.setAge(25);
teacherGraduate.setSex("女");
teacherGraduate.eat();
teacherGraduate.graduateStudyMethod();
teacherGraduate.work();
}
}
/////////////////////////////
最终的输出结果
wangwenjun研究生需要吃饭
wangwenjun研究生有学习的方法
wangwenjun学生的学习方法
liuna老师需要吃饭
liuna老师研究生的学习方法
liuna老师需要工作
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-13
这玩意儿其实挺简单的,只是要费时间区写代码.....就10分恐怕没人想弄
相似回答