如果子類沒有實現任何父類的指定構造函數,則自動繼承父類所有的指定構造函數以及便利構造函數
如果子類實現了父類所有的指定構造函數,則自動繼承父類的所有便利構造函數
如果子類實現了父類所有的指定構造函數,則自動繼承父類的所有便利構造函數
2022-03-13
最贊回答 / finalObject
兩者都能實現功能,之所以分開寫,是希望把處理代碼和顯示代碼分開,那個函數就負責,你輸入一個數字,我返回給你一個狀態,這個狀態里包含了所有信息,后面那個switch,只不過是幫忙把這個狀態信息表現了出來(通過終端打印的方式)這樣做的好處是,可能在別的場景中,比如說我寫了一個圖形界面,這時候我要表現這個信息,可能就是更新界面了,這個時候,我原先函數是不需要變的,變得只是負責顯示部分的代碼。至于什么時候用枚舉,我覺得不用刻意強求,知道有這么一個東西,實戰中慢慢的就會知道什么時候用這個了
2019-02-01
最新回答 / 慕數據021159
在看后面的視頻中我逐漸明白了如何回答自己這個問題:借用劉老師視頻中的話:“方便的構造函數認為當自己在最終調用指定的構造函數時(必須的),self 才被構造出來?!蹦敲粗恍枰诋斍暗姆奖愕臉嬙旌瘮抵袀魅肽莻€在最終調用指定的構造函數時所傳入的值,就可以了?;貧w到本例中,就是“在當前的方便的構造函數中傳入group : "" 就可以了”
2019-01-29
說錯了 當你類里面的屬性只是聲明類型而沒有初始化的時候 你需要初始化了這個值再調用super.init 如果你在聲明屬性的時候已經給他附上值 那就不用先子后父了
2019-01-14
現在已經不需要先子后父了 其實這樣設計沒啥用 。子類從寫init主要是怕父親類還沒構造出來就使用父親類函數 所以super放第一就對了
2019-01-14
計算屬性的get一般用于使用自身其他屬性計算得到的值 set就是用于得到的新value改變其他屬性的值 顯然需要受到雙方制約的時候才會使用計算屬性
通常只會聲明get屬性 這時候你就無法改變這個計算屬性啦 否則你就破壞了這個計算屬性的意義 顯然 如果你重寫其set方法的時候用self調用自身 妄想改變這個計算屬性的值 系統就會爆出警告說你這樣會自己調用自己 (我試過這樣調用 無限循環卡死了。。。) 顯然這也失去了這個計算屬性設計的意義
通常只會聲明get屬性 這時候你就無法改變這個計算屬性啦 否則你就破壞了這個計算屬性的意義 顯然 如果你重寫其set方法的時候用self調用自身 妄想改變這個計算屬性的值 系統就會爆出警告說你這樣會自己調用自己 (我試過這樣調用 無限循環卡死了。。。) 顯然這也失去了這個計算屬性設計的意義
2019-01-14
最贊回答 / 梁華建
解決了 我是把可選型的var 寫成let了 既然是let 但是你又不在構造函中給他賦值 ,那么這個let在那個構造函數中就變得沒有用處 當用戶調用這個let的時候就會出現問題了!
2019-01-13