prashanth sriatsva
class AbstractDemo {
void display() {
System.out.println("display() called from AbstractDemo class");
}
void fun() {
System.out.println("fun() called from AbstractDemo class");
}
}
class ConcreteDemo extends AbstractDemo {
void bar() {
System.out.println("fun() called from ConcreteDemo class");
}
@Override
void display() {
System.out.println("display() called from ConcreteDemo class");
}
public static void main(String[] args) {
AbstractDemo abstractDemo=new AbstractDemo(); //handle: AbstractDemo, object:AbstractDemo
abstractDemo.display();
abstractDemo.fun();
ConcreteDemo concreteDemo=new ConcreteDemo(); //handle: ConcreteDemo, object:ConcreteDemo
concreteDemo.display();
concreteDemo.bar();
/*DYNAMIC BINDING EXAMPLE*/
/*USING HANDLE OF PARENT_CLASS TO DEAL WITH OBJECTS OF BOTH (PARENT_CLASS AND CHILD_CLASS) */
abstractDemo=new ConcreteDemo(); //handle: AbstractDemo, object:ConcreteDemo
abstractDemo.display(); //calls display() of ConcreteDemo
\abstractDemo.bar(); //cannot call bar() of ConcreteDemo because bar() does not exist in AbstractDemo
}
}
void display() {
System.out.println("display() called from AbstractDemo class");
}
void fun() {
System.out.println("fun() called from AbstractDemo class");
}
}
class ConcreteDemo extends AbstractDemo {
void bar() {
System.out.println("fun() called from ConcreteDemo class");
}
@Override
void display() {
System.out.println("display() called from ConcreteDemo class");
}
public static void main(String[] args) {
AbstractDemo abstractDemo=new AbstractDemo(); //handle: AbstractDemo, object:AbstractDemo
abstractDemo.display();
abstractDemo.fun();
ConcreteDemo concreteDemo=new ConcreteDemo(); //handle: ConcreteDemo, object:ConcreteDemo
concreteDemo.display();
concreteDemo.bar();
/*DYNAMIC BINDING EXAMPLE*/
/*USING HANDLE OF PARENT_CLASS TO DEAL WITH OBJECTS OF BOTH (PARENT_CLASS AND CHILD_CLASS) */
abstractDemo=new ConcreteDemo(); //handle: AbstractDemo, object:ConcreteDemo
abstractDemo.display(); //calls display() of ConcreteDemo
\abstractDemo.bar(); //cannot call bar() of ConcreteDemo because bar() does not exist in AbstractDemo
}
}
Comments
Post a Comment