parent
10c0b22f85
commit
ffa0db8b4b
@ -0,0 +1,7 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public abstract class AbstractFactory {
|
||||||
|
abstract Food createFood();
|
||||||
|
abstract Vehicles createVehicle();
|
||||||
|
abstract Weapon createWeapon();
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Airship extends Vehicles{
|
||||||
|
@Override
|
||||||
|
void move() {
|
||||||
|
System.out.println("Alien move with airship, shu shu shu...");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Ak47 extends Weapon{
|
||||||
|
@Override
|
||||||
|
void shoot() {
|
||||||
|
System.out.println("human shoot with bullet, biu biu biu...");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class AlienFactory extends AbstractFactory{
|
||||||
|
@Override
|
||||||
|
Food createFood() {
|
||||||
|
return new Mushroom();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
Vehicles createVehicle() {
|
||||||
|
return new Airship();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
Weapon createWeapon() {
|
||||||
|
return new Thunder();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Bread extends Food{
|
||||||
|
@Override
|
||||||
|
void printName() {
|
||||||
|
System.out.println("human eat bread");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Car extends Vehicles{
|
||||||
|
@Override
|
||||||
|
void move() {
|
||||||
|
System.out.println("human move with car, tu tu tu...");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public abstract class Food {
|
||||||
|
abstract void printName();
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class HumanFactory extends AbstractFactory{
|
||||||
|
@Override
|
||||||
|
Food createFood() {
|
||||||
|
return new Bread();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
Vehicles createVehicle() {
|
||||||
|
return new Car();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
Weapon createWeapon() {
|
||||||
|
return new Ak47();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
AbstractFactory factory = new HumanFactory();
|
||||||
|
Food f = factory.createFood();
|
||||||
|
f.printName();
|
||||||
|
Vehicles v = factory.createVehicle();
|
||||||
|
v.move();
|
||||||
|
Weapon w = factory.createWeapon();
|
||||||
|
w.shoot();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Mushroom extends Food{
|
||||||
|
@Override
|
||||||
|
void printName() {
|
||||||
|
System.out.println("alien eat mushroom");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public class Thunder extends Weapon{
|
||||||
|
@Override
|
||||||
|
void shoot() {
|
||||||
|
System.out.println("alien shoot with thunder, zi zi zi...");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public abstract class Vehicles {
|
||||||
|
abstract void move();
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
package abstractFactory;
|
||||||
|
|
||||||
|
public abstract class Weapon {
|
||||||
|
abstract void shoot();
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
package factoryMethod;
|
package factoryMethod;
|
||||||
|
|
||||||
public interface Vehicle {
|
public interface Moveable {
|
||||||
void go();
|
void go();
|
||||||
}
|
}
|
Loading…
Reference in new issue