Java Program - Inheritance/Polymophism
TelecomOperator
Trainer
mathTrainer extends Trainer
EnglishTrainer
Use runtime Polymorphism and make all the variables as private
FinanceClass
Program:
/*********************** File name: Trainer.java
***********************/
public class Trainer
{
private String trainerName;
private int trainerId;
private String department;
public Trainer()
{
trainerName = "";
trainerId = 0;
department = "";
}
public Trainer(String trainerName, int trainerId, String
department)
{
this.trainerName = trainerName;
this.trainerId = trainerId;
this.department = department;
}
public String gettrainerName()
{
return trainerName;
}
public void settrainerName(String trainerName)
{
this.trainerName = trainerName;
}
public int gettrainerId()
{
return trainerId;
}
public void settrainerId(int trainerId)
{
this.trainerId = trainerId;
}
public String getdepartment()
{
return department;
}
public void setdepartment(String department)
{
this.department = department;
}
@Override
public String toString()
{
return "Trainer [trainerName=" + trainerName + ",
trainerId=" + trainerId + ", department=" + department + "]";
}
}
/*********************** File name: EnglishTrainer.java
***********************/
public class EnglishTrainer extends Trainer
{
private String subject;
private String courseDuration;
public EnglishTrainer()
{
super();
this.subject = "";
this.courseDuration = "";
}
public EnglishTrainer(String trainerName,int trainerId, String
department, String subject, String courseDuration)
{
super(trainerName, trainerId, department);
this.subject = subject;
this.courseDuration = courseDuration;
}
public String getSubject()
{
return subject;
}
public void setSubject(String subject)
{
this.subject = subject;
}
public String getCourseDuration()
{
return courseDuration;
}
public void setCourseDuration(String courseDuration)
{
this.courseDuration = courseDuration;
}
@Override
public String toString()
{
return "EnglishTrainer [subject=" + subject + ",
courseDuration=" + courseDuration + ", toString()="
+ super.toString() + "]";
}
}
/*********************** File name: MathTrainer.java
***********************/
public class MathTrainer extends Trainer
{
private String subject;
private String courseDuration;
public MathTrainer()
{
super();
subject = "";
this.courseDuration = "";
}
public MathTrainer(String trainerName,int trainerId, String
department,String subject, String courseDuration)
{
super(trainerName,trainerId,department);
this.subject = subject;
this.courseDuration = courseDuration;
}
public String getsubject()
{
return subject;
}
public void setsubject(String subject)
{
this.subject = subject;
}
public String getCourseDuration()
{
return courseDuration;
}
public void setCourseDuration(String courseDuration)
{
this.courseDuration = courseDuration;
}
@Override
public String toString()
{
return "mathTrainer [subject=" + subject + ",
courseDuration=" + courseDuration + ", toString()="
+ super.toString() + "]";
}
}
/*********************** File name: TrainerDemo.java
***********************/
public class TrainerDemo
{
public static void main(String[] args)
{
// Create an object named mt for the trainer
class
Trainer mt = new MathTrainer("John
Carlos",10101,"Training","Mathematics","45 days");
Trainer et = new EnglishTrainer("Michal
Richard",10102,"Training","English","90 days");
// Here the objects mt and et are related to
// the same class named Trainer. But each object
// performs and behaves differently.
System.out.println(mt.toString());
System.out.println(et.toString());
}
}
Sample output screenshot:
Program 2: Loan using Polymorphism
Program:
/********************** File name: CustomerInfo.java
**********************/
public class CustomerInfo
{
private String custname;
private int custid;
private String address;
private int age;
private double salary;
public CustomerInfo()
{
this.custname = "";
this.custid = 0;
this.address = "";
this.age = 0;
this.salary = 0.00;
}
public CustomerInfo(String custname, int custid, String address,
int age, double salary)
{
super();
this.custname = custname;
this.custid = custid;
this.address = address;
this.age = age;
this.salary = salary;
}
public String getCustname()
{
return custname;
}
public void setCustname(String custname)
{
this.custname = custname;
}
public int getCustid()
{
return custid;
}
public void setCustid(int custid)
{
this.custid = custid;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public double getSalary()
{
return salary;
}
public void setSalary(double salary)
{
this.salary = salary;
}
@Override
public String toString()
{
return "CustomerInfo [custname=" + custname + ",
custid=" + custid + ", address=" + address + ", age=" + age
+ ", salary=" + salary + "]";
}
}
/********************** File name: HomeLoan.java
**********************/
public class HomeLoan extends CustomerInfo
{
private String loanType;
private String eligible;
public HomeLoan()
{
super();
this.loanType = "";
this.eligible = "";
}
public HomeLoan(String custname, int custid, String address, int
age, double salary, String loanType)
{
super(custname, custid, address, age, salary);
this.loanType = loanType;
if (salary>=30000 && age >18)
{
this.eligible = "Elegible";
}
else
{
this.eligible = "Not Elegible";
}
}
@Override
public String toString()
{
return "HomeLoan [loanType=" + loanType + ", eligible="
+ eligible + ", toString()=" + super.toString() + "]";
}
}
/********************** File name: CarLoan.java
**********************/
public class CarLoan extends CustomerInfo
{
private String loanType;
private String eligible;
public CarLoan()
{
super();
this.loanType = "";
this.eligible = "";
}
public CarLoan(String custname, int custid, String address, int
age, double salary, String loanType)
{
super(custname, custid, address, age, salary);
this.loanType = loanType;
if (salary>=15000 && age >18)
{
this.eligible = "Elegible";
}
else
{
this.eligible = "Not Elegible";
}
}
@Override
public String toString()
{
return "CarLoan [loanType=" + loanType + ", eligible="
+ eligible + ", toString()=" + super.toString() + "]";
}
}
/********************** File name: PersonalLoan.java
**********************/
public class PersonalLoan extends CustomerInfo
{
private String loanType;
private String eligible;
public PersonalLoan()
{
super();
this.loanType = "";
this.eligible = "";
}
public PersonalLoan(String custname, int custid, String address,
int age, double salary, String loanType)
{
super(custname, custid, address, age, salary);
this.loanType = loanType;
if (salary<=10000 && age >18)
{
this.eligible = "Elegible";
}
else
{
this.eligible = "Not Elegible";
}
}
@Override
public String toString()
{
return "PersonalLoan [loanType=" + loanType + ",
eligible=" + eligible + ", toString()=" + super.toString() +
"]";
}
}
/********************** File name: LoanDemo.java
**********************/
public class LoanDemo
{
public static void main(String[] args)
{
CustomerInfo cust1= new HomeLoan( "Michal Richard",
1011, "Flat: 10, calfonia, USA", 33, 55000.00, "Home Loan");
CustomerInfo cust2= new CarLoan( "John Carlos", 1012,
"Flat: 5, calfonia, USA", 17, 0.000, "Car Loan");
CustomerInfo cust3= new PersonalLoan( "Gabrella
Johnson", 1013, "Flat: 32, calfonia, USA", 24, 12000.00, "Personal
Loan");
System.out.println(cust1.toString());
System.out.println(cust2.toString());
System.out.println(cust3.toString());
}
}
Sample output screenshot:
Java Program - Inheritance/Polymophism TelecomOperator PrepaidConnection (plans,rates) PostPaidConnection(plans,rates,duration) Trainer TrainerName TrainerId Department mathTrainer extends Trainer Subject...
Language: Java 30 pts. ) - This assignment revisits the student parsing program from earlier in the quarter, but challenges you to restructure the component pieces of the program to create a cleaner, more succinct Main(). You will generate a Student class of object and load an Array List with student objects, then report the contents of that Array List. To do so, you must perform the following: A)(10 /30 pts.)- Generate a class file “myStudent.java” (which will generate myStudent.class...