假設一隻貓,就是一隻貓,一隻抽象的貓,而『貓』是個抽象的頂層。玳瑁、手套、黑、白、花、賓士是低一層的抽象。現在有一隻貓叫做喵喵;透過”貓 喵喵”來定義喵喵是一隻貓。而喵喵可以定義貓型態或其他型態。到此時,我們只知道喵喵是一個型態為貓的東西。接下來,我們可根據自己的觀察,將喵喵指向屬於貓下的另一層抽象類別,這樣子的特性,我們稱之為『多型』。
貓 喵喵
喵喵=new 手套
我們知道貓這種型態有種動作叫做『喵喵叫』,假設在手套這個型態中,也有一個叫做『喵喵叫』的方法。原本透過”貓!『喵喵叫』”是透過貓來叫的,但是,我們將貓型態的喵喵指向『手套』這個低一層抽象後,再使用”貓!『喵喵叫』”時,則是叫一個手套貓『喵喵叫』而不是存在於貓叫的。
貓 喵喵
喵喵=new 手套
貓!『喵喵叫』
此時,一隻叫做喵喵的手套貓在那邊用手套貓的方式喵喵叫。
No comments:
Post a Comment