文档库 最新最全的文档下载
当前位置:文档库 › person.student

person.student

person.student
person.student

《程序设计实践I》

题目:Person、Student、Employee、Faculty和Staff类

实践二面向对象程序设计实践

一、实践目的

1.掌握类的定义,对象的创建。

2.掌握实现封装、继承、多态的方法,掌握各种修饰符的使用。

3.掌握将对象数组作为方法的参数和返回值。

4.掌握抽象类与接口的概念及实现,理解动态绑定机制。

5.掌握通过组合与继承,实现代码可复用。

二、实践要求

综合使用封装、继承、多态、抽象类与接口、组合及继承等面向对象知识,给出所选项目的面向对象设计与实现。

三、项目需求

所选项目名称:Person、Student、Employee、Faculty和Staff类

设计一个名为Person的类和它的两个名为Student和Employee的子类。Employee类又有子类:教员类Faculty和职员类Staff。每个人都有姓名、地址、电话号码和电子邮件地址。学生有班级状态(大一、大二、大三或大四)。将这些状态定义为常量。一个雇员有办公室,工资和受聘日期。定义一个名为Mydate 的类,包括数据域:year、month和day。教员类有办公时间和级别。职员有职务称号。覆盖每个类中的toString方法,显示相应的类名和人名。

五、核心算法详细设计

对于每个类的主要方法,给出其详细设计的核心算法,如:

1、person类

里面包含成员变量name,address,telephoto,以及构造方法person(String,String,String),以及方法toString全部都是string型变量。

2.student类

里面包含class1.class2,class3,class4都是String型变量以及构造方法student(String,String,String),和方法toString.

3.employee类

包含成员变量office是string型变量,成员变量salary是double型变量,构造方法employee (String,String,String)以及方法tostring是String型变量。

4.faculty类

成员变量有level是int整型变量,构造方法faculy(String,String,String),方法tostring是String型变量。

5.staff类

里面包括成员变量position是String型变量,构造方法staff(String,String,String),方法tostring 是String型变量。

6.ff类

包含主函数main以及display,返回值都是void。

六、完整源码

完整源码:给出完整的源代码。如:

class Person{

String name;

String address;

String telphone;

public Person(String n,String a,String t){

name=n;

address=a;

telphone=t;

}

public String toString(){

return name+" Person";

}

}

class Student extends Person{

final String class1="一年级";

final String class2="二年级";

final String class3="三年级";

final String class4="四年级";

public Student(String n,String a,String t){

super(n,a,t);

}

public String toString(){

return name+" Student";

}

}

class Employee extends Person{

String office;

double salary;

public Employee(String n,String a,String t,String o,double s){ super(n,a,t);

office=o;

salary=s;

}

public String toString(){

return name+" Employee";

}

}

class Faculty extends Employee{

int Level;

public Faculty(String n,String a,String t,String o,double w,int level){ super(n,a,t,o,w);

Level=level;

}

public String toString(){

return name+" Faculty";

}

}

class Staff extends Employee{

String position;

public Staff(String n,String a,String t,String o,double w,String p){ super(n,a,t,o,w);

position=p;

}

public String toString(){

return name+" Staff";

}

}

public class ff {

public static void main(String[] args) {

Person p=new Person ("张三","河南省平顶山","187********");

display(p);

Student s=new Student ("王宏","河南省漯河市","158********");

display(s);

Employee e=new Employee ("李四","河南省漯河市","0395112222","人事局",222.00);

display(e);

Faculty f=new Faculty ("明明","河南省商丘市","132********","办公室",345.00,1);

display(f);

Staff sta=new Staff ("红红","河南省周口市","138********","人事科",345.00,"副局长");

display(sta);

}

public static void display(Person person){

System.out.println(person);

}

}

七、使用说明与运行结果截图

运行结果截图:

八、实践总结

通过本次试验,我掌握类的定义,对象的创建。掌握实现封装、继承、多态的方法,掌握各种修饰符的使用。掌握将对象数组作为方法的参数和返回值。

掌握抽象类与接口的概念及实现,理解动态绑定机制。基本掌握通过组合与继承,实现代码可复用。在这次实践中,我查了很多资料,很好的锻炼了自己的查阅资料的能力和快速吸收新知识的能力。同时,也加深了与同学的交流,在设计过程中,我们互相帮助,共度难关,培养了很好的默契。总之,在这次课程设

计中,我学到了很多的知识,同时也感谢我的老师和同学的指导和帮助。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便牢固掌握知识。

相关文档