Late Binding
When:
when a parent type reference varible holds a reference to a child type object.
e.g.
A refA2 = new B();
//refA2 is a reference to an object of class B
//A is a parent class
//B is a child class
What:
A parent reference varible can hold a reference to a child object
===
Another code example
class Burger{}
class ChickenBurger extends Burger{}
class BeefBurger extends Burger{}
class EggBurger extends Burger{}
class AlooBurger extends Burger{}
class DumDum{
public void eatBurger(EggBurger eb){}
}
class Person{
public void eatBurger(Burger b){}
}
Person p1 = new Person();
p1.eatburger(new ChickenBurger());
DumDum d1 = new DumDum();
//d1.eatBurger(new ChickenBurger());
===
Why:
to avoid creating multiple functions for operations of different objects derived from same parent class
When:
when a parent type reference varible holds a reference to a child type object.
e.g.
A refA2 = new B();
//refA2 is a reference to an object of class B
//A is a parent class
//B is a child class
What:
A parent reference varible can hold a reference to a child object
===
Another code example
class Burger{}
class ChickenBurger extends Burger{}
class BeefBurger extends Burger{}
class EggBurger extends Burger{}
class AlooBurger extends Burger{}
class DumDum{
public void eatBurger(EggBurger eb){}
}
class Person{
public void eatBurger(Burger b){}
}
Person p1 = new Person();
p1.eatburger(new ChickenBurger());
DumDum d1 = new DumDum();
//d1.eatBurger(new ChickenBurger());
===
Why:
to avoid creating multiple functions for operations of different objects derived from same parent class
No comments:
Post a Comment