当前页面: 开发资料首页 → Java 专题 → Java数据对象技术JDO初步概览
摘要: 作为异军突起的新型语言,Java定义了一个标准的运行环境,用户定义的类在其中得到执行
package com.mediamania.prototype;
import java.util.Set;
import java.util.HashSet;
import java.util.Collections;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.ParsePosition;
public class Movie {
private static SimpleDateFormat yearFmt = new SimpleDateFormat("yyyy");
public static final String[] MPAAratings = {
"G", "PG", "PG-13", "R", "NC-17", "NR"};
private String title;
private Date releaseDate;
private int runningTime;
private String rating;
private String webSite;
private String genres;
private Set cast; // element type: Role
private Movie() {}
public Movie(String title, Date release, int duration, String rating,
String genres) {
this.title = title;
releaseDate = release;
runningTime = duration;
this.rating = rating;
this.genres = genres;
cast = new HashSet();
}
public String getTitle() {
return title;
}
public Date getReleaseDate() {
return releaseDate;
}
public String getRating() {
return rating;
}
public int getRunningTime() {
return runningTime;
}
public void setWebSite(String site) {
webSite = site;
}
public String getWebSite() {
return webSite;
}
public String getGenres() {
return genres;
}
public void addRole(Role role) {
cast.add(role);
}
public Set getCast() {
return Collections.unmodifiableSet(cast);
}
public static Date parseReleaseDate(String val) {
Date date = null;
try {
date = yearFmt.parse(val);
} catch (java.text.ParseException exc) {}
return date;
}
public String formatReleaseDate() {
return yearFmt.format(releaseDate);
}
}</td></tr></table>package com.mediamania.prototype;
import java.util.Set;
import java.util.HashSet;
import java.util.Collections;
public class Actor {
private String name;
① private Set roles; // element type: Role
private Actor() {}
public Actor(String name) {
this.name = name;
roles = new HashSet();
}
public String getName() {
return name;
}
② public void addRole(Role role) {
roles.add(role);
}
③ public void removeRole(Role role) {
roles.remove(role);
}
public Set getRoles() {
return Collections.unmodifiableSet(roles);
}
}</td></tr></table>package com.mediamania.prototype;
public class Role {
private String name;
private Actor actor;
private Movie movie;
private Role() {}
public Role(String name, Actor actor, Movie movie) {
this.name = name;
this.actor = actor;
this.movie = movie;
actor.addRole(this);
movie.addRole(this);
}
public String getName() {
return name;
}
public Actor getActor() {
return actor;
}
public Movie getMovie() {
return movie;
}
}</td></tr></table>