Question: Automobile Packages: TestFactory.java package AutoFactory; public class TestFactory { public static void main(String[] args) { AutoStore asiaStore = new AsiaStore(); AutoStore northAmericaStore = new NorthAmericaStore();

Automobile Packages: TestFactory.java package

Automobile Packages:

TestFactory.java

package AutoFactory;

public class TestFactory {

public static void main(String[] args) { AutoStore asiaStore = new AsiaStore(); AutoStore northAmericaStore = new NorthAmericaStore(); AutoStore europeStore = new EuropeStore(); //create asiaStore auto Automobile auto = asiaStore.createAuto("Toyota"); auto.printMarkModel(); auto = asiaStore.createAuto("Subaru"); auto.printMarkModel(); //create europeStore auto auto = europeStore.createAuto("Toyota"); auto.printMarkModel(); auto = europeStore.createAuto("Subaru"); auto.printMarkModel(); //create northAmericaStore auto auto = northAmericaStore.createAuto("Toyota"); auto.printMarkModel(); auto = northAmericaStore.createAuto("Subaru"); auto.printMarkModel();

}

}

AsiaStore.java

package AutoFactory;

public class AsiaStore extends AutoStore { //method return object type Automobile Automobile createAuto(String mark) { Automobile auto = null; if (mark.equals("Toyota")) { auto = new AsiaToyota();//create AsiaToyota auto } else if (mark.equals("Subaru")) { auto = new AsiaSubaru();//create AsiaSubaru auto } return auto;//return auto }

}

AutoStore.java

package AutoFactory;

public abstract class AutoStore { abstract Automobile createAuto(String mark);//create and return object Automobile }

Automobile.java

package AutoFactory;

import java.util.ArrayList;

abstract class Automobile { String mark;//mark auto String model;//model auto String price;//price auto ArrayList luxuryBundle = new ArrayList();//list luxury bundle ArrayList performanceBundle = new ArrayList();//list performance bundle abstract void printMarkModel();//print information }

EuropeStore.java

package AutoFactory;

public class EuropeStore extends AutoStore { //method return object type Automobile Automobile createAuto(String mark) { Automobile auto = null; if (mark.equals("Toyota")) { auto = new EuropeToyota();//create EuropeToyota auto } else if (mark.equals("Subaru")) { auto = new EuropeSubaru();//create EuropeSubaru auto } return auto;//return auto }

}

EuropeToyota.java

package AutoFactory;

public class EuropeToyota extends Automobile { //set all information about auto public EuropeToyota() { mark = "Toyota"; model = "Camry"; price = "$7000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Aluminium wheels"); luxuryBundle.add("Sunroof"); performanceBundle.add("Aluminium wheels"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); }

}

EuropeSubaru.java

package AutoFactory;

public class EuropeSubaru extends Automobile{ //set all information about auto public EuropeSubaru() { mark = "Subaru"; model = "Impreza"; price = "$6000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Sunroof"); performanceBundle.add("Aluminium wheels"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); }

}

AsiaToyota.java

package AutoFactory;

public class AsiaToyota extends Automobile{ //set all information about auto public AsiaToyota() { mark = "Toyota"; model = "Camry"; price = "$10000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Aluminium wheels"); luxuryBundle.add("Sunroof"); performanceBundle.add("Aluminium wheels"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); } }

AsiaSubaru.java

package AutoFactory;

public class AsiaSubaru extends Automobile { //set all information about auto public AsiaSubaru() { mark = "Subaru"; model = "Impreza"; price = "$13000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Sunroof"); performanceBundle.add("Aluminium wheels"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); }

}

NorthAmericaStore.java

package AutoFactory;

public class NorthAmericaStore extends AutoStore { //method return object type Automobile Automobile createAuto(String mark) { Automobile auto = null; if (mark.equals("Toyota")) { auto = new NorthAmericaToyota();//create NorthAmericaToyota auto } else if (mark.equals("Subaru")) { auto = new NorthAmericaSubaru();//create NorthAmericaSubaru auto } return auto;//return auto }

}

NorthAmericaToyota.java

package AutoFactory;

public class NorthAmericaToyota extends Automobile{ //set all information about auto public NorthAmericaToyota() { mark = "Toyota"; model = "Camry"; price = "$8000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Sunroof"); performanceBundle.add("Aluminium wheels"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); } }

NorthAmericaSubaru.java

package AutoFactory;

public class NorthAmericaSubaru extends Automobile{ //set all information about auto public NorthAmericaSubaru() { mark = "Subaru"; model = "Impreza"; price = "$12000"; luxuryBundle.add("Upgrades radio"); luxuryBundle.add("Aluminium wheels"); performanceBundle.add("Sunroof"); } //print all information void printMarkModel() { System.out.println("Mark: " + mark + " ,Model: " + model + " , Price: " + price); } }

Output:

UML Diagram (3 Points) Use a UML diagram to show the class relationships. When you upload it, either scan or photograph your UML diagram. Problems @ Javadoc @ Declaration Console X Coverage terminated TestFactory [Java Application] C:\Program Files\Java\jdk1.8.0_131\bin\javaw.exe (Jan 2, 2018, 8:19:21 PM) Mark: Toyota , Model: Camry , Price: $10000 Mark: Subaru , Model: Impreza , Price: $13000 Mark: Toyota , Model: Camry, Price: $7000 Mark: Subaru , Model: Impreza Price: $6000 Mark: Toyota , Model: Camry, Price: $8000 Mark: Subaru , Model: Impreza , Price: $12000

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!