Home » Ruby programming

Ruby Inheritance

Inheritance in Ruby: Here, we are going to learn about the inheritance in Ruby programming language with examples.
Submitted by Hrithik Chandra Prasad, on August 17, 2019

Inheritance in Ruby

Inheritance is a feature of Object Oriented languages in which new classes are derived from existing classes and resulting in the formation of a hierarchy of classes. The derived class is often called as child class and the existing class is termed as parent class. Inheritance provides code reusability which increases the human efficiency to write codes on the platform.

Ruby is an Object Oriented language, thus it supports the major feature of Inheritance. We can also explain inheritance via an example of two classes namely A and B.

Let us define these two classes in ruby using its syntax:

    class A
        #class methods

    class B
        #class methods

If we want to provide inheritance on class B, then the syntax will be changed as,

    class A
        #class methods

    class B < A
        #class methods

In the above syntax that we have used the "<" symbol to inherit a class. Now, if the object of class B is created then it will also be able to use the data members and member methods of class A. This provides code reusability as now we don't have to define methods which are already declared in class A, in class B as well. There are two classes possible after inheritance.

  1. Super Class: Super class is the Parent class whose methods are inherited. It can also be termed as Base class.
  2. Sub Class: Sub class is often termed as Derived or Child class. Sub class derives the methods and variables of Base class or Parent class.

Ruby supports only single level inheritance which means that a child class can have only one base class or parent class. It disallows Multi-level inheritance which means that if we want to make multiple parent classes of a single child class then it is not possible. Multiple inheritances are restricted because it creates ambiguity error or you can say that it creates multiple paths if the method name is same in both parent classes and the compiler could not decide or choose the right path.

Every class which is defined in Ruby platform has a default parent class. Before Ruby 1.9 version, every class has the parent class known as "Object class" by default but after Ruby 1.9 version, the parent class or the superclass of every class is "Basic Object class" by default.

Let us understand the practical implementation of Inheritance with the help of the following example,

Ruby program to demonstrate Inheritance.

class ClassA
	def Show
		puts "Welcome to IncludeHelp"
	def Message
		puts "Enter your name: "
		puts "Hello #{nm}, I hope you are doing great"

class ClassB<ClassA
	def Hello
		puts "Hello World!"



Welcome to IncludeHelp
Enter your name:
Hello Hrithik, I hope you are doing great
Hello World!

You can observe in the above code that, ClassB is the child class of Base class ClassA. The object of ClassB can access the methods of ClassA.

Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.