Create an abstract Division class with fields for a company\'s division name and
ID: 3914963 • Letter: C
Question
Create an abstract Division class with fields for a company's division name and account number, and an abstract display() method that will be defined in the subclasses. Use a constructor in the superclass that requires values for both fields. Create two subclasses named InternationalDivision and DomesticDivision. The InternationalDivision class includes a field for the country in which the division is located, a field for the language spoken, and a constructor that requires all fields when created. The DomesticDivision class include a field for the state in which the division is located and a constructor that requires all fields when created. Write an application named UseDivision that creates two instances of each of these concrete classes (4 total instances). Save the files as: Division, InternationalDivision, DomesticDivision, and UseDivision.
Explanation / Answer
abstract class Division // base class
{
private String divName;
private int accountNum;
public Division(String divName,int accountNum)
{
this.divName = divName;
this.accountNum = accountNum;
}
public abstract void display(); // abstract method
//get methods
public String getDivName()
{
return divName;
}
public int getAcctNum()
{
return accountNum;
}
}
class InternationalDivision extends Division // derived class
{
private String country;
private String language;
public InternationalDivision(String divName,int accountNum,String country,String language)
{
super(divName,accountNum);// call to base class constructor
this.country = country;
this.language = language;
}
public void display() //define base class abstract method
{
System.out.println("Division Name : "+getDivName());
System.out.println("Account Number : "+getAcctNum());
System.out.println("Country : "+country);
System.out.println("Language : "+language);
}
}
class DomesticDivision extends Division // derived class
{
private String state;
public DomesticDivision(String divName,int accountNum,String state)
{
super(divName,accountNum);// call to base class constructor
this.state = state;
}
public void display()//define base class abstract method
{
System.out.println("Division Name : "+getDivName());
System.out.println("Account Number : "+getAcctNum());
System.out.println("State : "+state);
}
}
class UseDivision
{
public static void main (String[] args)
{
InternationalDivision id = new InternationalDivision("Division1",76887,"USA","English");
id.display();
System.out.println();
DomesticDivision dd = new DomesticDivision("Division2",86879,"Panjab");
dd.display();
}
}
Output:
Division Name : Division1
Account Number : 76887
Country : USA
Language : English
Division Name : Division2
Account Number : 86879
State : Panjab
Do ask if any doubt. Please upvote.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.