0

There is a provision in Java to achieve abstract class. Then how do I achieve in Ruby?

Abstract Class

/* File name : Employee.java */
public abstract class Employee {
   private String name;
   private String address;
   private int number;
   public Employee(String name, String address, int number) {
      System.out.println("Constructing an Employee");
      this.name = name;
      this.address = address;
      this.number = number;
   }
   public double computePay() {
     System.out.println("Inside Employee computePay");
     return 0.0;
   }
   public void mailCheck() {
      System.out.println("Mailing a check to " + this.name
       + " " + this.address);
   }
   public String toString() {
      return name + " " + address + " " + number;
   }
   public String getName() {
      return name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String newAddress) {
      address = newAddress;
   }
   public int getNumber() {
     return number;
   }
}

Extending Abstract Class:

/* File name : Salary.java */
public class Salary extends Employee {
   private double salary; //Annual salary
   public Salary(String name, String address, int number, double
      salary) {
       super(name, address, number);
       setSalary(salary);
   }
   public void mailCheck() {
       System.out.println("Within mailCheck of Salary class ");
       System.out.println("Mailing check to " + getName()
       + " with salary " + salary);
   }
   public double getSalary() {
       return salary;
   }
   public void setSalary(double newSalary) {
       if(newSalary >= 0.0) {
          salary = newSalary;
       }
   }
   public double computePay() {
      System.out.println("Computing salary pay for " + getName());
      return salary/52;
   }
}
Luiggi Mendoza
  • 85,076
  • 16
  • 154
  • 332
Sourabh Upadhyay
  • 1,034
  • 11
  • 31
  • AFAIK Ruby doesn't have abstract classes. Check here about how to simulate abstract classes in ruby: [How to implement an abstract class in ruby?](http://stackoverflow.com/q/512466/1065197) – Luiggi Mendoza Nov 11 '14 at 15:09
  • Take a look at the answers in this question http://stackoverflow.com/questions/512466/how-to-implement-an-abstract-class-in-ruby – Hector Correa Nov 11 '14 at 17:00

0 Answers0