1.1 面向对象高级课程安排( 六 )


⑦定义测试类 , 写代码测试
/*人类*/public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
/*老师类*/public class Teacher extends Person {public Teacher() {}public Teacher(String name, int age) {//this.name = name;//this.age = age;super(name, age);}public void teach() {System.out.println("用爱成就每一位学员");}}
/*测试类*/public class PersonDemo {public static void main(String[] args) {//创建老师类对象并进行测试Teacher t1 = new Teacher();t1.setName("林青霞");t1.setAge(33);System.out.println(t1.getName() + "," + t1.getAge());t1.teach();Teacher t2 = new Teacher("风清扬", 36);System.out.println(t2.getName() + "," + t2.getAge());t2.teach();//学生类的定义和测试 , 留给大家自学练习}}
留给大家的作业:定义学生类继承自人类 , 并创建学生类对象进行测试 。
好了 , 关于老师和学生的练习我们就先讲到这里 。
讲解完毕后 , 大家赶快动手练习一下吧 。
1.7.2 项目经理和程序员
需求:请使用继承的思想设计出项目经理类和程序员类 , 并进行测试 。
看完这个需求后 , 我们首先得知道项目经理和程序员都有哪些属性和行为 , 这样我们才能够设计这两个类 , 通过这两个类的共性特性 , 设计出一个父类 。
这里呢 , 我们给出项目经理和程序员的成员变量和成员方法:
项目经理:
? 成员变量:工号 , 姓名 , 工资 , 奖金
? 成员方法:工作
程序员:
? 成员变量:工号 , 姓名 , 工资
? 成员方法:工作
通过分析 , 我们可以找到它们的共性内容 , 设计出一个父类:员工类
员工类:
? 成员变量:工号 , 姓名 , 工资
? 成员方法:工作
程序员类继承自员工类 , 没有新的成员需要添加 。
而项目经理类继承自员工类 , 需要添加一个成员变量:奖金 。
下面给出实现思路:
思路:
①定义员工类(工号 , 姓名 , 工资 , 工作())
②定义项目经理类 , 继承自员工类 , 添加一个新的成员变量奖金
③定义程序员类 , 不需要添加新的成员
④定义测试类 , 进行测试
分析完毕后 , 我们到IDEA中去实现一下:
/*员工类*/public class Employee {//工号private String id;//姓名private String name;//薪水private double salary;public Employee() {}public Employee(String id, String name, double salary) {this.id = id;this.name = name;this.salary = salary;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public void work() {System.out.println("员工需要工作");}}
/*项目经理类*/public class Manager extends Employee {//奖金private double bonus;public Manager() {}public Manager(String id, String name, double salary, double bonus) {super(id, name, salary);this.bonus = bonus;}public double getBonus() {return bonus;}public void setBonus(double bonus) {this.bonus = bonus;}@Overridepublic void work() {System.out.println("项目经理和客户谈需求");}}