Scala program to implement multilevel inheritance

Here, we are going to learn how to implement multilevel inheritance in Scala programming language?
Submitted by Nidhi, on June 08, 2021 [Last updated : March 11, 2023]

Scala - Multilevel Inheritance Example

Here, we will create three classes to implement multilevel inheritance. The extends keyword is used to implement inheritance. In the multilevel inheritance base class is inherited into derived class. Then derived class is also inherited into another derived class.

Scala code to implement multilevel inheritance

The source code to implement multilevel inheritance is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

// Scala program to implement multilevel inheritance

class Person {
  var name: String = "";
  var age: Int = 0;

  def setPerson(name: String, age: Int) {
    this.name = name;
    this.age = age;
  }
  def printPerson() {
    printf("\tName: %s\n", name);
    printf("\tAge: %d\n", age);
  }
}

class Employee extends Person {
  var empId: Int = 0;

  def setEmp(id: Int, name: String, age: Int) {
    empId = id;
    setPerson(name, age);
  }
  def printEmp() {
    printf("\tEmployee Id  : %d\n", empId);
    printPerson();
  }
}

class Accountant extends Employee {
  var salary: Float = 0
  var bonus: Float = 0

  def setInfo(id: Int, name: String, age: Int, s: Float, b: Float) {
    setEmp(id, name, age);
    salary = s;
    bonus = b;
  }
  def printInfo() {
    printEmp();
    printf("\tEmployee Salary: %f\n", salary);
    printf("\tEmployee Bonus : %f\n", bonus);
  }
}

object Sample {
  def main(args: Array[String]) {
    var acc1 = new Accountant();
    var acc2 = new Accountant();

    acc1.setInfo(101, "Arun", 23, 12345.23f, 220.34f);
    acc2.setInfo(102, "Anup", 24, 22345.23f, 120.34f);

    println("Accountant1:");
    acc1.printInfo();

    println("Accountant2:");
    acc2.printInfo();
  }
}

Output

Accountant1:
	Employee Id  : 101
	Name: Arun
	Age: 23
	Employee Salary: 12345.230469
	Employee Bonus : 220.339996
Accountant2:
	Employee Id  : 102
	Name: Anup
	Age: 24
	Employee Salary: 22345.230469
	Employee Bonus : 120.339996

Explanation

In the above program, we used an object-oriented approach to create the program. Here, we created an object Sample.

And, we created three classes Person, Employee and Accountant. The Person class contains personal information like name and age. And, we used setPerson(), getPerson() methods. Employee class contains setEmp() and printEmp() function and Accountant class contains setInfo() and printInfo().

Here, we inherited the Person class into the Employee class, Then the Employee class inherited into the Accountant class using the extend keyword.

Then we defined the main() function in the Sample object. The main() function is the entry point for the program.

In the main() function, we created two objects of the Accountant class and called methods to set and print information regarding Accountant.

Scala Inheritance Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.