Thursday, June 4, 2015

Polymorphism Dynamic Method Dispatch 2





import java.io.BufferedReader;
import java.io.InputStreamReader;

public class DynamicMethodDispatchCOOL
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the blog from where you want to read: \n"+" 1: Site1 \n 2: Site2 \n 3: Site3 \n");
int no = Integer.parseInt(reader.readLine());

Reader blogReader = null;

switch (no) {
case 1:
blogReader = new Site1();
break;

case 2:
blogReader = new Site2();
break;

case 3:
blogReader = new Site3();
break;

default:
System.out.println("Please select valid site no...");
break;
}

if(blogReader != null)
{
blogReader.readFromBlog();
}
}

}


class Reader
{
public void readFromBlog()
{
System.out.println("Blog Reader....");
}
}


class Site1 extends Reader
{
public void readFromBlog()
{
System.out.println("Blog Reader from site1....");
}
}


class Site2 extends Reader
{
public void readFromBlog()
{
System.out.println("Blog Reader from site2....");
}
}


class Site3 extends Reader
{
public void readFromBlog()
{
System.out.println("Blog Reader from site3....");
}
}





No comments:

Post a Comment