這篇做出修改成此篇的標題,
沒列出來的class就同上篇。這篇show出做修改的部分。
NullObject.java
package com.test.nullobjectpattern;
import com.test.factorypattern.animal;
public class NullObject implements animal {
@Override
public void printMsg() {
// TODO Auto-generated method stub
System.out.println("NullObject class, means i'm null");
}
@Override
public void getFeet() {
// TODO Auto-generated method stub
}
@Override
public void life() {
// TODO Auto-generated method stub
}
}
animalFactory.java
package com.test.factorypattern;
import com.test.nullobjectpattern.NullObject;
public class animalFactory {
public animal getAnimal(String kind){
if (null == kind) {
return null;
} else if (kind.equalsIgnoreCase("dog")) {
return new dog();
} else if (kind.equalsIgnoreCase("cat")) {
return new cat();
} else if (kind.equalsIgnoreCase("bird")) {
return new bird();
} else {
return new NullObject();
}
}
}
TestNullObjectPattern.java
package com.test.nullobjectpattern;
import com.test.factorypattern.animal;
import com.test.factorypattern.animalFactory;
public class TestNullObjectPattern {
public static void main(String[] args) {
// TODO Auto-generated method stub
animalFactory animalfactory = new animalFactory();
animal dog = animalfactory.getAnimal("dog");
dog.printMsg();
System.out.println("=========================");
animal cat = animalfactory.getAnimal("cat");
cat.printMsg();
System.out.println("=========================");
animal bird = animalfactory.getAnimal("bird");
bird.printMsg();
System.out.println("=========================");
animal pig = animalfactory.getAnimal("pig");
pig.printMsg();
}
}
console
dog class ========================= cat class ========================= bird class ========================= NullObject class, means i'm null
沒有留言:
張貼留言