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

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kv4716213 的頭像
    kv4716213

    阿翔Unity筆記

    kv4716213 發表在 痞客邦 留言(0) 人氣()