1. Write a class to represent a AlternativeEnergyCar. Select the fields and methods that fit the modeling of an alternative energy car. Make sure to include code for the constructors, set/get methods, a toString() method.
2. Inheritance – : For this question submit a UML as the answer.
Create two abstract subclasses of AECar, one for Electric cars and one for Altfuel cars. Next create four additional subclasses., two for types of Electric cars and two for Altfuel cars( for example, Altfuel cars might be Hydrogen powered or Biofuel powered.) Decide which properties should be pushed up into a super abstract class and which belong in the individual subclasses. You do not need to code every method – just place a stub placeholders.
3. Polymorphism - Write a driver program that uses a AECar reference variable to point to three different types of classes, showing that inheritance is one mechanism for using polymorphism.
4. Interface – Make the AECar class implement the Comparable Java interface. Write a driver program that sorts a list of 4 AECars according to price.
CarDriver.java
import java.util.*;
public class CarDriver
{
public static void main(String[] args)
{
AlternativeEnergyCar car1 = new
AlternativeEnergyCar(10000, 2010, 10000);
AlternativeEnergyCar car2 = new
HydrogenCar(0, 2019, 40000, 100, false);
AlternativeEnergyCar car3 = new
ElectricCar(0, 2019, 30000, 10, 50);
AlternativeEnergyCar car4 = new
NaturalGasCar(0, 2015, 20000, 5, 20);
AlternativeEnergyCar car5 = new
PropaneCar(0, 2019, 25000, 10, true);
ArrayList<AlternativeEnergyCar> cars = new
ArrayList<AlternativeEnergyCar>();
cars.add(car1);
cars.add(car2);
cars.add(car3);
cars.add(car4);
cars.add(car5);
Collections.sort(cars);
System.out.println(cars);
}
}
AlternativeEnergyCar.java
public class AlternativeEnergyCar implements
Comparable<AlternativeEnergyCar>
{
protected double miles;
protected int yearmade;
protected double price;
public AlternativeEnergyCar()
{
this.miles = 0;
this.yearmade = 2019;
this.price = 50000;
}
public AlternativeEnergyCar(double miles, int
yearmade, double price)
{
this.miles = miles;
this.yearmade = yearmade;
this.price = price;
}
public void setMiles(double miles)
{
this.miles = miles;
}
public void setYearMade(int yearmade)
{
this.yearmade = yearmade;
}
public void setPrice(double price)
{
this.price = price;
}
public double getMiles()
{
return this.miles;
}
public int getYearMade(int yearmade)
{
return this.yearmade;
}
public double getPrice()
{
return this.price;
}
public String toString()
{
return "\nmiles: "+miles+"\nyear
made: "+yearmade+"\nprice: "+price;
}
public int compareTo(AlternativeEnergyCar
otherAECar)
{
return
-1*(Double.valueOf(otherAECar.getPrice()).compareTo(this.price));
}
}
HydrogenCar.java
public class HydrogenCar extends NoEmissionsCar
{
private boolean infastructure;
public HydrogenCar()
{
this.infastructure = false;
}
public HydrogenCar(double miles, int yearmade, double
price, double fuelcost, boolean infastructure)
{
super(miles, yearmade, price,
fuelcost);
this.infastructure =
infastructure;
}
@Override
public void setFuelCost(double fuelcost)
{
this.fuelcost = fuelcost;
}
@Override
public double getFuelCost()
{
return this.fuelcost;
}
public void setInfastructure(boolean
infastructure)
{
this.infastructure =
infastructure;
}
public boolean getInfastructure(boolean
infastructure)
{
return this.infastructure;
}
@Override
public String toString()
{
return "\nmiles: "+miles+"\nyear
made: "+yearmade+"\nprice: "+price+"\nfuel cost:
"+fuelcost+"\ninfastructure: "+infastructure;
}
}
NoEmissionsCar.java
public abstract class NoEmissionsCar extends
AlternativeEnergyCar
{
protected double fuelcost;
public NoEmissionsCar()
{
this.fuelcost = 30;
}
public NoEmissionsCar(double miles, int yearmade,
double price, double fuelcost)
{
super(miles, yearmade,
price);
this.fuelcost = fuelcost;
}
public abstract void setFuelCost(double
fuelcost);
public abstract double getFuelCost();
}
ElectricCar.java
public class ElectricCar extends NoEmissionsCar
{
private double batterycharge;
public ElectricCar()
{
this.batterycharge = 100;
}
public ElectricCar(double miles, int yearmade, double
price, double fuelcost, double batterycharge)
{
super(miles, yearmade, price,
fuelcost);
this.batterycharge =
batterycharge;
}
@Override
public void setFuelCost(double fuelcost)
{
this.fuelcost = fuelcost;
}
@Override
public double getFuelCost()
{
return this.fuelcost;
}
public void setBatteryCharge(double
batterycharge)
{
this.batterycharge =
batterycharge;
}
public double getBatteryCharge()
{
return this.batterycharge;
}
@Override
public String toString()
{
return "\nmiles: "+miles+"\nyear
made: "+yearmade+"\nprice: "+price+"\nfuel cost:
"+fuelcost+"\nbattery charge: "+batterycharge;
}
}
NaturalGasCar.java
public class NaturalGasCar extends EmissionsCar
{
private double methaneemissions;
public NaturalGasCar()
{
this.methaneemissions = 15;
}
public NaturalGasCar(double miles, int yearmade,
double price, double emissions, double methaneemissions)
{
super(miles, yearmade, price,
emissions);
this.methaneemissions =
methaneemissions;
}
@Override
public void setEmissions(double emissions)
{
this.emissions = emissions;
}
@Override
public double getEmissions()
{
return this.emissions;
}
public void setMethaneEmissions(double
methaneemissions)
{
this.methaneemissions =
methaneemissions;
}
public double getMethaneEmissions()
{
return this.methaneemissions;
}
@Override
public String toString()
{
return "\nmiles: "+miles+"\nyear
made: "+yearmade+"\nprice: "+price+"\nemissions:
"+emissions+"\nmethane emissions: "+methaneemissions;
}
}
EmissionsCar.java
public abstract class EmissionsCar extends
AlternativeEnergyCar
{
protected double emissions;
public EmissionsCar()
{
this.emissions = 30;
}
public EmissionsCar(double miles, int yearmade, double
price, double emissions)
{
super(miles, yearmade,
price);
this.emissions = emissions;
}
public abstract void setEmissions(double
emissions);
public abstract double getEmissions();
}
PropaneCar.java
public class PropaneCar extends EmissionsCar
{
private boolean infastructure;
public PropaneCar()
{
this.infastructure = true;
}
public PropaneCar(double miles, int yearmade, double
price, double emissions, boolean infastructure)
{
super(miles, yearmade, price,
emissions);
this.infastructure =
infastructure;
}
@Override
public void setEmissions(double emissions)
{
this.emissions = emissions;
}
@Override
public double getEmissions()
{
return this.emissions;
}
public void setMethaneEmissions(boolean
infastructure)
{
this.infastructure =
infastructure;
}
public boolean getMethaneEmissions()
{
return this.infastructure;
}
@Override
public String toString()
{
return "\nmiles: "+miles+"\nyear
made: "+yearmade+"\nprice: "+price+"\nemissions:
"+emissions+"\ninfastructure: "+infastructure;
}
}

1. Write a class to represent a AlternativeEnergyCar. Select the fields and methods that fit the...
(The interface class-like) Assume you have the Edible interface with its abstract method. Design a class named Animal and its two subclasses named Mammal and Dairy. Make Sheep and Bear as subclasses of Mammal and make implement the Edible interface. howToEat() and sound() are the main two methods for all edible classes while sound() is the main method for the non-edible classes. 1. Draw the UML diagram for the classes and the interface 2. Use Arraylist class to create an...
Exercise 8 (The interface class-like) Assume you have the Edible interface with its abstract method Design a class named Animal and its two subclasses named Mammal and Dairy. Make Sheep and Bear as subclasses of Mammal and make Chicken and Cow as subclasses of Dairy. The Sheep and Dairy classes implement the Edible interface. howToEat) and sound() are the main two methods for all edible classes while sound() is the main method for the non-edible classes. 1. Draw the UML...
Project 7: Vehicles 1 Objective In the last couple projects, you’ve created and used objects in interesting ways. Now you’ll get a chance to use more of what objects offer, implementing inheritance and polymorphism and seeing them in action. You’ll also get a chance to create and use abstract classes (and, perhaps, methods). After this project, you will have gotten a good survey of object-oriented programming and its potential. This project won’t have a complete UI but will have a...
IN JAVA Design and code a class hierarchy that demonstrates your understanding of inheritance and polymorphism. Your hierarchy should contain at least 5 classes and one driver program that instantiates each type of object and runs multiple methods on those objects. Inheritance and Polymorphism must be apparent in the project. Please keep in mind that polymorphism was in chapter 37, so you will need to have read both chapters to understand what goes into this project. Bonus if you add...
Need help to create general
class
Classes Data Element - Ticket Create an abstract class called Ticket with: two abstract methods called calculateTicketPrice which returns a double and getld0 which returns an int instance variables (one of them is an object of the enumerated type Format) which are common to all the subclasses of Ticket toString method, getters and setters and at least 2 constructors, one of the constructors must be the default (no-arg) constructor. . Data Element - subclasses...
plz
write if it is in another class or package
Question 1: 1. Create a new project in Eclipse (File > New > Java Project.) Name it Homework2Q1 2. Create a package for your classes 3. Create an abstract superclass with only non default constructor(s) 4. Create two different subclasses of that superclass 5. Create another class that is not related (you need a total of four classes up to this point) 6. Create an interface 7. Make the class...
Write ONE application program by using the following requirements: Using JAVA File input and output Exception handling Inheritance At least one superclass or abstract superclass: this class needs to have data members, accessor, mutator, and toString methods At least one subclass: this class also needs to have data members, accessor, mutator, and toString methods At least one interface: this interface needs to have at least two abstract methods At least one method overloading At least one method overriding At least...
UML Class Diagram with Inheritance
Objectives
Use UML
Correctly indicate inheritance
Demonstrate permissions
Understand inheritance relationships
Labwork
Please read all of the directions carefully.
You will create a UML class diagram reflecting the class hierarchy
for a fictional program that manages university personnel as
constructed according to the graph displayed below. You will need
to think about the attributes and behaviors that are unique to each
class, and also those attributes and behaviors that are common
amongst the subclasses and...
Create an interface called VideoRecorder that has methods that represent four standard operations on a video recorder (play, stop, record, pause). Define the method signatures any way you desire: Explain how a class might implement this interface and then write the code that is necessary in the header of the class: Draw a UML class diagram that shows the relationships among the elements
Assignment Requirements
I have also attached a Class Diagram that describes the
hierarchy of the inheritance and interface behaviors . The link to
the PDF of the diagram is below
MotorVehical.pdf
Minimize File Preview
User Define Object Assignment:
Create a Intellij Project. The
Intellij project will contain three user defined
classes. The project will test two of the User Define Classes by
using the invoking each of their methods and printing the
results.
You are required to create three UML...