Java25 PDF5 Inheritance Polymorphism
Java25 PDF5 Inheritance Polymorphism
Chapter 1
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 2
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
class Child extends Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
// Accessing parent variable
[Link](super.x);
}
}
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 4
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 6
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 8
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 10
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 12
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 14
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 16
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 18
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------
Chapter 20
Inheritance
-------------
-> Inheritance means acquiring properties from parent class to child class.
Real-time Example:
Advantages:
1) Code Reusability
2) Easy Maintenance
3) Less Code Duplication
Syntax:
class Parent {
}
--------------------------------------------------
Single Inheritance
-------------------
Program:
class Animal {
void eat() {
[Link]("Animal Eating");
}
}
void bark() {
[Link]("Dog Barking");
}
}
class Demo {
void main() {
// Creating object
var d = new Dog();
Output:
Animal Eating
Dog Barking
Explanation:
--------------------------------------------------
Multilevel Inheritance
-----------------------
Program:
class GrandFather {
void land() {
[Link]("Land");
}
}
void house() {
[Link]("House");
}
}
void bike() {
[Link]("Bike");
}
}
class Demo {
void main() {
[Link]();
[Link]();
[Link]();
}
}
Output:
Land
House
Bike
Explanation:
--------------------------------------------------
Hierarchical Inheritance
-------------------------
Program:
class RBI {
void rules() {
[Link]("RBI Rules");
}
}
Explanation:
--------------------------------------------------
Reason:
To avoid ambiguity problem.
--------------------------------------------------
super Keyword
--------------
Program:
class Parent {
int x = 100;
}
void display() {
Output:
100
--------------------------------------------------
Method Overloading
-------------------
-> Same method name with different parameters.
Program:
class Addition {
[Link](a + b);
}
[Link](a + b + c);
}
}
Explanation:
--------------------------------------------------
Method Overriding
------------------
Program:
class Vehicle {
void speed() {
[Link]("Normal Speed");
}
}
@Override
void speed() {
[Link]("High Speed");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
High Speed
--------------------------------------------------
Overloading:
1) Same class
2) Different parameters
3) Compile-time polymorphism
Overriding:
1) Parent and child classes
2) Same parameters
3) Runtime polymorphism
--------------------------------------------------
this Keyword
-------------
this keyword refers current class object.
Program:
class Student {
int sid;
Student(int sid) {
void display() {
[Link](sid);
}
}
Output:
Displays student id.
--------------------------------------------------
Program:
class Animal {
void sound() {
[Link]("Animal Sound");
}
}
@Override
void sound() {
[Link]("Cat Meow");
}
}
class Demo {
void main() {
[Link]();
}
}
Output:
Cat Meow
Explanation:
--------------------------------------------------
Interview Questions
--------------------
1) What is inheritance?
2) Why inheritance used?
3) What is polymorphism?
4) Difference between overloading and overriding?
5) Why multiple inheritance not supported?
6) Explain super keyword.
7) Explain this keyword.
8) What is dynamic method dispatch?
--------------------------------------------------
Assignments
-------------