votako

apple-banana

Nov 16th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.97 KB | None | 0 0
  1. class Person{
  2.     private Fructs fruct;
  3.  
  4.     public Person eat(Fructs fructs){
  5.         //Apple peeledA = apple.getPeeled();
  6.         //Banana peeledB = banana.getPeeled();
  7.         fruct = Peeler.peel(fructs);
  8.             return this;
  9.            
  10.     }
  11.     public void Say(){
  12.         String app = "mm, yummy apple";
  13.         String ban = "oh, nice banana";
  14.             if (fruct instanceof Apple) {
  15.                 System.out.println(app);
  16.             }
  17.             else {
  18.                 System.out.println(ban);
  19.             }
  20.     }
  21. }
  22. class Fructs{}
  23. class Apple extends Fructs{
  24.     public Fructs getPeeled(){return Peeler.peel(this);}
  25. }
  26. class Banana extends Fructs{
  27.     public Fructs getPeeled(){return Peeler.peel(this);}
  28. }
  29.  
  30. class Peeler{
  31.     //static Apple peel(Apple apple){return apple;}
  32.     //static Banana peel(Banana banana){return banana;}
  33.     static Fructs peel(Fructs fruct){return fruct;}
  34. }
  35.  
  36. public class PassingThis{
  37.     public static void main(String[] args) {
  38.         Person p = new Person();
  39.         Apple apple = new Apple();
  40.         Banana banana = new Banana();
  41.         p.eat(apple).Say();
  42.  
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment