Dart – Concept of Inheritance
In Dart, one class can inherit another class i.e dart can create a new class from an existing class. We make use of extend keyword to do so.
Terminology:
- Parent Class: It is the class whose properties are inherited by the child class. It is also known as a base class or superclass.
- Child Class: It is the class that inherits the properties of the other classes. It is also known as a deprived class or subclass.
class parent_class{ ... } class child_class extends parent_class{ ... }
Example 1: Example of Single Inheritance in the dart.
Dart
// Dart program to show the single inheritance // Creating parent class class Gfg{ // Creating a function void output(){ print( "Welcome to gfg!!\nYou are inside output function." ); } } // Creating Child class class GfgChild extends Gfg{ // We are not defining // any thing inside it... } void main() { // Creating object of GfgChild class var geek = new GfgChild(); // Calling function // inside Gfg(Parent class) geek.output(); } |
Output:
Welcome to gfg!! You are inside output function.
Types of Inheritance:
- Single Inheritance: This inheritance occurs when a class inherits a single-parent class.
- Multiple Inheritance: This inheritance occurs when a class inherits more than one parent class. Dart doesn’t support this.
- Multi-Level Inheritance: This inheritance occurs when a class inherits another child class.
- Hierarchical Inheritance: More than one classes have the same parent class.
Important Points:
- Child classes inherit all properties and methods except constructors of the parent class.
- Like Java, Dart also doesn’t support multiple inheritance.
Example 2:
Dart
// Dart program for multilevel interitance // Creating parent class class Gfg{ // Creating a function void output1(){ print( "Welcome to gfg!!\nYou are inside the output function of Gfg class." ); } } // Creating Child1 class class GfgChild1 extends Gfg{ // Creating a function void output2(){ print( "Welcome to gfg!!\nYou are inside the output function of GfgChild1 class." ); } } // Creating Child2 class class GfgChild2 extends GfgChild1{ // We are not defining // any thing inside it... } void main() { // Creating object // of GfgChild class var geek = new GfgChild2(); // Calling function // inside Gfg //(Parent class of Parent class) geek.output1(); // Calling function // inside GfgChild // (Parent class) geek.output2(); } |
Output:
Welcome to gfg!! You are inside the output function of Gfg class. Welcome to gfg!! You are inside the output function of GfgChild1 class.
Example 3: Hierarchical inheritance.
Dart
// Dart program for Hierarchical inheritance // Creating parent class class Gfg{ // Creating a function void output1(){ print( "Welcome to gfg!!\nYou are inside output function of Gfg class." ); } } // Creating Child1 class class GfgChild1 extends Gfg{ // We are not defining // any thing inside it... } // Creating Child2 class class GfgChild2 extends Gfg{ // We are not defining // any thing inside it... } void main() { // Creating object // of GfgChild1 class var geek1 = new GfgChild1(); // Calling function // inside Gfg(Parent class) geek1.output1(); // Creating object of // GfgChild1 class var geek2 = new GfgChild2(); // Calling function // inside Gfg(Parent class) geek2.output1(); } |
Output:
Welcome to gfg!! You are inside output function of Gfg class. Welcome to gfg!! You are inside output function of Gfg class.
Please Login to comment...