close
抽象類別不可實作
抽象方法不可實作
但抽象類別裡面除了抽象方法也可以有正常的方法(可實作的
抽象方法就是用來提醒寫code的人,"繼承我就要實做這些東西"
怕子類別忘記實作必要的方法可以用,例如遺物基底類別的獲得跟移除方法,因為我知道遺物在獲得跟移除時一定會做事,而且做的事都不一樣
虛擬方法可實作,可被複寫,可以想成主要也是被用來繼承覆寫用,但多了預設值的概念
我用在 Buff 的基底類別,因為 Buff 生效時機點各自不同,
例如燒傷,每秒扣N點血量 跟 移速增加buff,獲得時增加跑速,
所以 OnBuffTik() OnGetBuff() 就都會用 virtual 因為不一定要實作
介面
屬性及方法都不可實作
屬性要用 int id {get; set;} 這種方式來宣告 //不設定值,而是宣告有get set這兩個方法
優點是可同時繼承多的介面
參考 https://ad57475747.medium.com/c-%E9%9B%9C%E8%A8%98-%E4%BB%8B%E9%9D%A2-interface-%E6%8A%BD%E8%B1%A1-abstract-%E8%99%9B%E6%93%AC-virtual-%E4%B9%8B%E6%88%91%E8%A6%8B-dc3c5878bb80
全站熱搜
留言列表