Skip to content

Instantly share code, notes, and snippets.

Created January 25, 2015 11:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/1571520dd1aa934fce28 to your computer and use it in GitHub Desktop.
Save anonymous/1571520dd1aa934fce28 to your computer and use it in GitHub Desktop.
AbstractFactory Example
// The Abstract Class
public abstract class AbstractVehicel {
abstract public void name();
abstract public void manufacturer();
abstract public void horsepower();
}
// The ConrectClasses
public class Vehicel1 extends AbstractVehicel {
@Override
public void name() {
System.out.println("Ford Mustang");
}
@Override
public void manufacturer() {
System.out.println("Ford");
}
@Override
public void horsepower() {
System.out.println("120");
}
}
public class Vehicel2 extends AbstractVehicel {
@Override
public void name() {
System.out.println("VW Up");
}
@Override
public void manufacturer() {
System.out.println("Volkswagen");
}
@Override
public void horsepower() {
System.out.println("65");
}
}
// {...}
// The Client
public class ListCars {
private static List<AbstractVehicel> vehicelList = new ArrayList<>();
public static void main(String[] args) {
addVehicelToList();
new ListCars();
}
private static void addVehicelToList() {
vehicelList.add(new Vehicel1());
vehicelList.add(new Vehicel2());
vehicelList.add(new Vehicel3());
vehicelList.add(new Vehicel4());
}
public ListCars() {
for(int position = 0; position < vehicelList.size(); ++position) {
System.out.println("-----------------------------");
AbstractVehicel vehicel = vehicelList.get(position);
vehicel.name();
vehicel.manufacturer();
vehicel.horsepower();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment