对于在同一家公司工作的经历和员工而言,两者是有很多共同点的。例如,每个月都要发工资,但是经理在完成目标任务后,还会获得奖金。此时,利用员工类来编写经理类就会少写很多代码,利用继承技术可以让经理类使用员工类中定义的属性和方法。编写程序,通过继承演示经理与员工的差异。
思路分析:典型的继承问题。父类是员工类,子类是经理类,经理类继承员工类,这样经理类中就只用额外实现奖金,即增加表示奖金的成员变量和设置及获取奖金的成员方法。
代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 |
import java.util.Date; public class Employee { private
String name; //员工的姓名 private
double salary; //员工的工资 private
Date birthday; //员工的生日 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
Date getBirthday() { //获取员工的生日 return
birthday; } public
void setBirthday(Date birthday) { //设置员工的生日 this.birthday = birthday; } }public
class Manager extends
Employee { private
double bonus;// 经理的奖金 public
double getBonus() {// 获得经理的奖金 return
bonus; } public
void setBonus(double
bonus) {// 设置经理的奖金 this.bonus = bonus; }}import
java.util.Date;public
class Test { public
static void main(String[] args) { Employee employee = new
Employee();//创建Employee对象并为其赋值 employee.setName("Java"); employee.setSalary(100); employee.setBirthday(new
Date()); Manager manager = new
Manager();//创建Manager对象并为其赋值 manager.setName("明日科技"); manager.setSalary(3000); manager.setBirthday(new
Date()); manager.setBonus(2000); //输出经理和员工的属性值 System.out.println("员工的姓名:"
+ employee.getName()); System.out.println("员工的工资:"
+ employee.getSalary()); System.out.println("员工的生日:"
+ employee.getBirthday()); System.out.println("经理的姓名:"
+ manager.getName()); System.out.println("经理的工资:"
+ manager.getSalary()); System.out.println("经理的生日:"
+ manager.getBirthday()); System.out.println("经理的奖金:"
+ manager.getBonus()); }} |
效果如图所示:

原文:http://www.cnblogs.com/cysolo/p/3560562.html