求助一个开闭原则的JAVA小代码

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:58:26
1,有水果类,苹果类和梨子类实现了水果类这个接口
2,水果类有种植,开花,结果3个方法
3,园丁类是来NEW出每种水果的(对这个类不能修改)
4,在测试类里面不能看到有NEW关键字
1楼的 yanweimin7 会写就牛叉了?只会在这里说风凉话,你问我答,答对了给你分就是了,你刷分就刷,还啰七八嗦说什么,鄙视这种高傲的PIG!
2楼 lincoln1177 look 3.园丁类是来NEW出每种水果的(对这个类不能修改)
ks6466686 符合要求 继续
Apple tempApple;
Pear tempPear;
gardener sinGarden = gardener.getGardener();

tempApple=sinGarden.getFruit(tempPear);
这个APPLE你没有给它初始化,getFruit(tempPear)这里怎么用

3,园丁类是来NEW出每种水果的(对这个类不能修改)

楼上的 这一条 没有 满足,如果 增加 一个水果,肯定就不符合 开闭原则了...虽然我也是刚刚才查了下什么是OCP

写了一会了,思绪有点乱, 解决不了 static的问题,我发上来把,一会 我下班 回去 寝室 再给你编,你先看看那 给我个建议吧..

写完了,你看看吧 还有,给你推荐个网址,看看这个,你可以学到很多!~
http://www.cnblogs.com/zzj-46000452/archive/2006/09/16/506286.html
import java.lang.*;

interface Fruit
{
public void plant();
public void blossom();
public void outcome();
}

class Apple implements Fruit
{
Apple(){this.plant();}
public void plant(){System.out.println("Plant a apple");};
public void blossom(){System.out.println("Apple blossomed");};
public void outcome(){System.out.println("Apple outcomed");};
}
class Pear implements Fruit
{
Pear(){this.plant();}
public void plant(){System.out.