Scenario #4:

Expected Understanding: Abstraction, Inheritance, Dynamic Binding, Polymorphism (Overriding), Constructor Overloading

1) Create an abstract class called ‘India’
– Have below abstract methods
– void speakLanguage()
– void eat()
– void dress()
– Have static variable String capital = “New Delhi”
– Have below Constructor
public India(String primeMinister)
{
System.out.println(“our Prime Minister is” + primeMinister);
}

public abstract class India
{
	  String PrimeMinister;
static String capital="New Delhi";
	public India(String PrimeMinister)
	{
		this.PrimeMinister=PrimeMinister;
		System.out.println("our Prime Minister is " + this.PrimeMinister);
	}
	
	
public abstract void speakLanguage();
public abstract void eat();
public abstract void dress();
	


}

2) Create an abstract class called ‘SouthIndia’
– Make this class as sub class of ‘India’
– Add below non abstract methods
– void cultivate()
– Print ‘Rice and Wheat cultivation’ inside this method
– void livingStyle()
– Print ‘Average development’ inside this method

public abstract class SouthIndia extends India
{

public SouthIndia(String PrimeMinister)
{
super(PrimeMinister);
}
public void cultivate()
{
 System.out.println("Rice and Wheat cultivation");
}
public void livingStyle()
{
 System.out.println("Average development");
}

}

3) Create a class called ‘TamilNadu’ with main method as sub class of ‘South India’.
– Add unimplemented methods
– Provide your own definitions wherever necessary.
– Have static variable String capital = “Chennai”
– Add below non abstract methods
– void cultivate()
– Print ‘Rice and Sugar cane cultivation’ inside this method
– void livingStyle()
– Print ‘Above Average development’ inside this method
– Using class name “India” – access variable ‘capital’ and print the value
– Using class name “TamilNadu” – access variable ‘capital’ and print the value.
– Create instance for “SouthIndia” as below
SouthIndia si = new TamilNadu()
– Observe which methods and variables can be accessed using ‘si’ and note down.

public class TamilNadu extends SouthIndia
{
static String capital="Chennai";
public TamilNadu(String PrimeMinister)
{
 super(PrimeMinister);
}
public static void main(String[] args)
{
System.out.println(India.capital);
System.out.println(TamilNadu.capital);

SouthIndia si = new TamilNadu("modi");

}
public  void speakLanguage()
{
 System.out.println("Speaking Tamil Language");
}
public  void eat()
{
System.out.println("Tamil Food");
}
public  void dress()
{
 System.out.println("Tamil Dressing");
}
public void cultivate()
{
System.out.println("Rice and Sugar cane cultivation");
}
public void livingStyle()
{
 System.out.println("Above Average development");
}

}

Output

Leave a Reply

Create your own website, free on WordPress.com.Create your own website.
Start free