面向 Java 开发人员的 db4o 指南: 结构化对象和集合
2010-04-01 00:00:00 来源:WEB开发网跟本系列的其他文章一样,我不会在每次更改时都展示完整的 Person 类,只逐步展示每次更改。在这个例子中,我实际上并没有更改 Person,因为我将要扩展 Person,而不是修改它。
区别雇员
需要做的第一件事是使我的雇员管理系统能够区别普通的 Person(例如雇员的配偶和/或子女)和 Employee。从纯粹建模的立场来说,这个更改很简单。我只是向 Person 引入了一个新的派生类,这个类和目前涉及到的其他类都在同一个包中。毫无疑问,我将会调用这个类 Employee,如清单 2 所示:
Listing 2. Employee 扩展 Person
package com.tedneward.model;
public class Employee extends Person
{
public Employee()
{ }
public Employee(String firstName, String lastName, String title,
Gender gender, int age, Mood mood)
{
super(firstName, lastName, gender, age, mood);
this.title = title;
}
public String getTitle() { return title; }
public void setTitle(String value) { title = value; }
public String toString()
{
return "[Employee: " + getFirstName() + " " + getLastName() + " " +
"(" + getTitle() + ")]";
}
private String title;
}
Employee 类的全部代码都在清单 2 中。从 OODBMS 的角度看, Employee 中的其他方法意义不大。在本讨论中需要记住的是 Employee 是 Person 的一个子类(如果更加关心系统的建模过程,可以设想 Employee 中的其他方法,例如 promote()、demote()、getSalary()、setSalary() 和 workLikeADog())。
更多精彩
赞助商链接