public interface AnimalInterface {
public String getName();
}
------------------------------------------------------------
package package1;
public class Lion implements AnimalInterface {
@Override
public String getName() {
return "Lion Name";
}
}
-----------------------------------------------------------
package package1;
public class Tiger implements AnimalInterface{
@Override
public String getName() {
return "Tiger Name";
}
}
------------------------------------------------------------------
package package1;
// THIS WAY OF INTERMEDIATE CLASS REDUCE COUPLING
public class IntermediateClass {
public String getAnimal(AnimalInterface a) {
return a.getName();
}
/**
// HIGHLY COUPLED WAY
public String getAnimals(Tiger t){
return t.getName();
}
public String getAnimals(Lion l){
return l.getName();
}
**/
}
--------------------------------------------------------------------------------------
package package1;
public class MainActivity {
public static void main(String[] args) {
IntermediateClass ic = new IntermediateClass();
String animName = ic.getAnimal(new Tiger());
String animName2 = ic.getAnimal(new Lion());
System.out.println(animName2);
System.out.println(animName);
}
}
------------------------------------------------------------------------------

No comments:
Post a Comment