我们知道好莱坞是一个生产电影的地方,每年许多精彩大片都是从这里出来的,同时也产生了许许多多的明星大牌。可以认为是一个生产电影的工厂。
好,接下来我们仔细看下好莱坞出来的电影,老的有泰坦尼克号,珍珠港。这类可以归结为剧情片。稍微近的有金刚、阿发达。这类可以归结为科幻片。那是不是可以将这些抽象成一个我们软件中的对象呢。
模型抽象:
1.好莱坞:电影工厂
2.电影 :电影类型的抽象集合
3.剧情片:珍珠港等等
4.电影出品人: 利用好莱坞资源进行电影生产的操作人
伪代码实现
1.定义个电影
public interface Movie
{
public void movieShow();//电影上映
}
2.定义剧情片 泰坦尼克号
public class Titanic implements Movie
{
//电影上映
public void movieShow()
{
//开始船头吹风
}
}
3.这个时候电影工厂出现了
public class MovieFactory
{
public static Movie createMovie(Class c)
{
//利用反射生产电影,但是不考虑异常情况了
Movie movie = (Movie)Class.forName(c.getName).newInstance();
return movie;
}
}
4.出品人出场
public class Producer
{
public static void main(String[] arg0)
{
//拍电影
Movie titanic = MovieFactory.createMovie(Titanic.class);
//电影上映
titanic. movieShow();
}
}
好,接下来我们仔细看下好莱坞出来的电影,老的有泰坦尼克号,珍珠港。这类可以归结为剧情片。稍微近的有金刚、阿发达。这类可以归结为科幻片。那是不是可以将这些抽象成一个我们软件中的对象呢。
模型抽象:
1.好莱坞:电影工厂
2.电影 :电影类型的抽象集合
3.剧情片:珍珠港等等
4.电影出品人: 利用好莱坞资源进行电影生产的操作人
伪代码实现
1.定义个电影
public interface Movie
{
public void movieShow();//电影上映
}
2.定义剧情片 泰坦尼克号
public class Titanic implements Movie
{
//电影上映
public void movieShow()
{
//开始船头吹风
}
}
3.这个时候电影工厂出现了
public class MovieFactory
{
public static Movie createMovie(Class c)
{
//利用反射生产电影,但是不考虑异常情况了
Movie movie = (Movie)Class.forName(c.getName).newInstance();
return movie;
}
}
4.出品人出场
public class Producer
{
public static void main(String[] arg0)
{
//拍电影
Movie titanic = MovieFactory.createMovie(Titanic.class);
//电影上映
titanic. movieShow();
}
}