<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent.Chan‘s Blog

    常用鏈接

    統計

    積分與排名

    網站

    最新評論

    (轉)Polymorphism(多態性)很X,大家注意少兒不宜

    Polymorphism shouldn't be a new concept to anybody. You deal with it every day in the real world. There's more than one class of cat to skin, but you skin 'em the same way, even if the specific instance is completely new to you. Let's say for example you want to fuck a hole. You fuck all holes the same. You don't care if that hole happens to be a mouth, an ass, or a pussy, you're gonna fuck it the same way regardless. However, the mouth, pussy, or ass may respond differently to the fucking.

    So you have a common abstract class named 'Hole' and 3 concrete classes Pussy, Ass, and Mouth which all extend from Hole:


    class Pussy extends Hole {}
    class Mouth extends Hole {}
    class Ass extends Hole {}

    So, now let's say you have a Penis.Fuck(Hole h) method. The Penis class is unconcerned about what the specific Hole instance is, it's gonna fuck it the same regardless. Specificly we thrust the Hole with a Penis until the Penis is spent. Finally, we give the hole the Penis' load.


    class Penis {
      public Fuck(Hole h) {
        while(!this.isSpent) {
          h.TakeAThrust(this);
          this.arousal++;
        }
        h.TakeALoad(this.load);
      }
    }

    Now here's where polymorphism gets fun. The Hole will respond different to the thrusting and load depending on what specific type of Hole we're implementing.

    First we must implement an abstract class which defines an abstract interface.


    abstract class Hole {
      public abstract void TakeAThrust(Penis p);

      public abstract void TakeALoad(Load l);
    }

    Now all that's left is the varying implementations of these methods in the seperate concrete classes. For example, an Ass' implementation of TakeAThrust could look something like:


    public void TakeAThrust(Penis p) {
      if(!enoughLube && p.Circumference > 6) {
        analFissureCount++;
      }
    }

    See, the beauty of it is... the Penis doesn't even need to know it's fucking an Ass for the Ass to behave like a proper Ass.

    Now, let's see how we might implement TakeALoad differently for Mouth and Pussy:


    //in Pussy
    public void TakeALoad(Load l) {
      //randomly determine whether to cause a pregnancy with a 10% chance...
      if(Math.RandomNumber() % 10 == 0) {
        this.Woman.EggFactory.GetEgg().Inseminate(l);
      }
    }

    //in Mouth
    public void TakeALoad(Load l) {
      //50-50 chance of spitting or swallowing
      if(Math.RandomNumber() % 1 == 0) {
        this.Spit(l);
      } else {
        this.Swallow(l);
      }
    }

    Putting it all together with client code

    Now that we have our classes well planned out with polymorphism in mind, we can see the kind of luxury it is for the client programmer to work with.


    //create an array of 4 women
    Woman[] women = new Woman[]{new Woman(), new Woman(), new Woman(), new Woman()};

    //create a hole array to reference the holes of all 4 women, plus two additional holes.
    Hole[] holes = new Hole[4*3 + 2];

    for(int i = 0; i < women.Length; i++) {
      holes[3 * i + 0] = women[i].Mouth;
      holes[3 * i + 1] = women[i].Pussy;
      holes[3 * i + 2] = women[i].Ass;
    }

    //additional holes (so the faggy programmers don't feel left out)
    Man m = new Man();
    holes[12] = m.Mouth;
    holes[13] = m.Ass;

    //now we loop through the holes and fuck them all with the same Penis

    Penis p = new Man().Penis;

    foreach(Hole h in holes) {
      p.Fuck(h);
    }

    See how easy it makes it for the client programmer?

    posted on 2007-07-02 23:54 Vincent.Chen 閱讀(2103) 評論(1)  編輯  收藏 所屬分類: Java

    評論

    # re: (轉)Polymorphism(多態性)很X,大家注意少兒不宜 2007-08-04 03:38 Vincent.Chen

    馬累:凸_-_凸!  回復  更多評論   

    主站蜘蛛池模板: 亚洲av永久无码精品秋霞电影影院| 亚洲aⅴ无码专区在线观看春色 | 亚洲黄色免费观看| 亚欧洲精品在线视频免费观看| 毛片基地免费视频a| 亚洲成电影在线观看青青| 成人爽a毛片免费| 好看的电影网站亚洲一区| 国产亚洲一卡2卡3卡4卡新区 | 2015日韩永久免费视频播放| 欧洲美熟女乱又伦免费视频| 亚洲国产综合91精品麻豆| 鲁死你资源站亚洲av| 99爱在线精品视频免费观看9| 国产成人涩涩涩视频在线观看免费| 亚洲中文字幕久久精品无码APP| 在线a亚洲v天堂网2019无码| 亚洲一区二区中文| 亚洲aⅴ无码专区在线观看春色| 成全动漫视频在线观看免费高清版下载| 91成人在线免费观看| 国产亚洲精品拍拍拍拍拍| 亚洲高清有码中文字| 中文字幕亚洲免费无线观看日本| 亚洲另类激情专区小说图片| 无码色偷偷亚洲国内自拍| 国产又黄又爽又猛免费app| 亚洲AV无码第一区二区三区| eeuss免费影院| 国产精品亚洲片在线观看不卡| 免费人成视频在线观看免费| 亚洲国产av无码精品| 精品亚洲av无码一区二区柚蜜| 日本免费v片一二三区| 久久精品国产亚洲av品善| 在线观看人成网站深夜免费| 亚洲av无码日韩av无码网站冲| 在线观看人成网站深夜免费| 亚洲成在人线在线播放无码| 日韩亚洲国产综合久久久| 精品福利一区二区三区免费视频 |