Saturday, May 30, 2015

LessCoupling-BestWay

package package1;

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