iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0

Day25-[Ruby]類別繼承與模組使用時機

前面幾篇了解類別與模組的差異之後,
我們來看看

類別繼承使用時機

到底甚麼時候要使用類別繼承,
什麼時候使用模組呢?
因為類別多了繼承的能力,
如果彼此間是有關連的,
甚至是要有另一類別內的所有能力,
可以考慮使用類別繼承。

例如我們產生一個動物類別會動、能吃東西,
然後我們要產生一樣會動、能吃東西的魚類別、鳥類別、狗類別,
我們就可以讓這三個類別都繼承動物類別,
這樣這三個類別所有實體都會動、能吃東西。

模組使用時機

如果你想產生一種叫飛魚的實體,
你需要定義一種會飛的方法並呼叫它。

問題來了,你該將飛的方法定義在誰的裡面呢?
在動物裡面...X不正確,不是所有動物都會飛
在魚類別裡面...X不正確,因為基本上魚都不會飛
在鳥類別裡...X很奇怪,雖然鳥基本上都會飛,但飛魚應該是一種魚
那該怎麼辦呢?...可以考慮使用模組。

我們可以產生一個飛行模組,
再讓魚類別包含飛行模組,
這樣飛魚就可以呼叫飛行模組裡的會飛方法了!

這樣一來,很多需要飛行的類別(鳥、飛機...)
都可以用同樣的方式呼叫囉!
可以參考這裡

tags: Ruby Module Class

上一篇
Day24-[Ruby]new(新的)、allocate(分配)、superclass(超類別/父類別)是什麼?
下一篇
Day26-[Ruby]類別引入模組的方法:include 和 extend
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言