Advertisement
MrGuffels

MethodOverridingA1

Oct 19th, 2020 (edited)
2,742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.50 KB | None | 0 0
  1. class Faculty {
  2.    
  3.     private String name;
  4.     private float basicSalary;
  5.     private float bonusPercentage;
  6.     private float carAllowancePercentage;
  7.    
  8.     public Faculty(String name, float basicSalary) {
  9.         this.name = name;
  10.         this.basicSalary = basicSalary;
  11.         this.bonusPercentage = 4f;
  12.         this.carAllowancePercentage = 2.5f;
  13.     }
  14.    
  15.     public double calculateSalary() {
  16.         return basicSalary + basicSalary*(bonusPercentage/100.0) + basicSalary*(carAllowancePercentage/100.0);
  17.     }
  18.  
  19.     public String getName() {
  20.         return name;
  21.     }
  22.  
  23.     public void setName(String name) {
  24.         this.name = name;
  25.     }
  26.  
  27.     public float getBasicSalary() {
  28.         return basicSalary;
  29.     }
  30.  
  31.     public void setBasicSalary(float basicSalary) {
  32.         this.basicSalary = basicSalary;
  33.     }
  34.  
  35.     public float getBonusPercentage() {
  36.         return bonusPercentage;
  37.     }
  38.  
  39.     public void setBonusPercentage(float bonusPercentage) {
  40.         this.bonusPercentage = bonusPercentage;
  41.     }
  42.  
  43.     public float getCarAllowancePercentage() {
  44.         return carAllowancePercentage;
  45.     }
  46.  
  47.     public void setCarAllowancePercentage(float carAllowancePercentage) {
  48.         this.carAllowancePercentage = carAllowancePercentage;
  49.     }
  50.  
  51. }
  52.  
  53. class OfficeStaff extends Faculty{
  54.    
  55.     private String designation;
  56.    
  57.     public OfficeStaff(String name, float basicSalary, String designation){
  58.         super(name,basicSalary);
  59.         this.designation = designation;
  60.     }
  61.    
  62.     public double calculateSalary() {
  63.         float additional=0;
  64.        
  65.         if (this.designation.equals("Accountant")){
  66.             additional = 10000.0f;
  67.         }
  68.         else if (this.designation.equals("Clerk")){
  69.             additional = 7000.0f;
  70.         }
  71.         else if (this.designation.equals("Peon")){
  72.             additional = 4500.0f;
  73.         }
  74.        
  75.         return super.calculateSalary() + additional;
  76.     }
  77.  
  78.     public String getDesignation() {
  79.         return designation;
  80.     }
  81.  
  82.     public void setDesignation(String designation) {
  83.         this.designation = designation;
  84.     }
  85.  
  86. }
  87.  
  88. class Teacher extends Faculty{
  89.     private String qualification;
  90.    
  91.     public Teacher(String name, float basicSalary, String qualification){
  92.         super(name, basicSalary);
  93.         this.qualification = qualification;
  94.     }
  95.    
  96.     public double calculateSalary() {
  97.         float additional=0;
  98.        
  99.         if (this.qualification.equals("Doctoral")){
  100.             additional = 20000.0f;
  101.         }
  102.         else if (this.qualification.equals("Masters")){
  103.             additional = 18000.0f;
  104.         }
  105.         else if (this.qualification.equals("Bachelors")){
  106.             additional = 15500.0f;
  107.         }
  108.         else if (this.qualification.equals("Associate")){
  109.             additional = 10000.0f;
  110.         }
  111.        
  112.         return super.calculateSalary() + additional;
  113.     }
  114.  
  115.     public String getQualification() {
  116.         return qualification;
  117.     }
  118.  
  119.     public void setQualification(String qualification) {
  120.         this.qualification = qualification;
  121.     }
  122. }
  123.  
  124.  
  125. class Tester {
  126.     public static void main(String[] args) {
  127.        
  128.         Teacher teacher = new Teacher("Caroline", 30500f, "Masters");
  129.         OfficeStaff officeStaff = new OfficeStaff("James", 24000f, "Accountant");
  130.        
  131.         System.out.println("Teacher Details\n***************");
  132.         System.out.println("Name: "+teacher.getName());
  133.         System.out.println("Qualification: "+teacher.getQualification());
  134.         System.out.println("Total salary: $" + Math.round(teacher.calculateSalary()*100)/100.0);
  135.         System.out.println();
  136.  
  137.         System.out.println("Office Staff Details\n***************");
  138.         System.out.println("Name: "+officeStaff.getName());
  139.         System.out.println("Designation: "+officeStaff.getDesignation());
  140.         System.out.println("Total salary: $" + Math.round(officeStaff.calculateSalary()*100)/100.0);
  141.  
  142.         //Create more objects for testing your code  
  143.  
  144.     }
  145. }
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement