Main Class:
package Abstract;
public class Abstract
{
public static void main(String[] args)
{
Animal[] A = new Animal[3]; ///Creat Animal Class Array
///Create diffrent types of Sub class Object
A[0] = new Tiger(4);
A[1] = new Deer(4);
A[2] = new Lion(4);
System.out.println("Zoo Information:");
MiniZoo Zoo = new MiniZoo(A);
Zoo.printInfo();///print info
}
}
Animal Class:
package Abstract;
public abstract class Animal ///Abstract class
{
private int leg;
Animal(int legs)
{
this.leg = legs;
}
public abstract String getDiets(); ///Abstract Method
}
Tiger Class:
package Abstract;
public class Tiger extends Animal
{
Tiger(int legs)
{
super(legs); ///parents Constructor
}
@Override
public String getDiets()
{
return "Meat"; ///set food
}
}
Deer Class:
package Abstract;
public class Deer extends Animal {
Deer(int legs)
{
super(legs);///parents Constructor
}
@Override
public String getDiets()
{
return "Grass";///set food
}
}
Lion Class:
package Abstract;
public class Lion extends Animal {
Lion(int Legs)
{
super(Legs);///parents Constructor
}
@Override
public String getDiets()
{
return "Meat"; ///set food
}
}
MiniZoo Class:
package Abstract;
public class MiniZoo
{
private Animal[] animals;
MiniZoo(Animal[] A)
{
this.animals = A;
}
public void printInfo()
{
for(Animal A: animals)
{
System.out.println(A.getClass().getSimpleName()+" Eats: "+A.getDiets());
}
}
}
Output
Zoo Information:
Tiger Eats :Meat
Deer Eats: Grass
Lion Eats: Meat
Add your comment