@ toc 黎克特制轉換 形參 實參 ref out
對修改關閉對擴充套件開放
定義:所有引用基類的地方必須能透明地使用其子類的物件。
問題:有一功能p1,由類a來完成。現在需要將功能p1進行擴充套件,擴充套件後的功能為p(p由原有功能p1和新功能p2組成)。功能p由類a的子類b來完成,子類b在完成新功能p2的同時有可能會導致原有功能p1發生故障。
解決方案:當使用繼承時,遵循黎克特制替換原則。類b繼承類a時,除了新增新的方法完成新增功能p2外,盡量不要重寫父類a的方法,也盡量不要過載父類a的方法。
1).子類可以擴充套件父類的功能,但不能改變父類原有的功能。
2).父類能出現的地方都可以用子類來代替,而且換成子類也不會出現任何錯誤或異常,而使用者也無需知道是父類還是子類。
1.子類必須完全實現父類的抽象方法,但不能覆蓋父類的非抽象方法;
2.子類中可以增加自己特有的方法;
3.當子類的方法過載父類的方法時,方法的前置條件(即方法的形參)要比父類方法的輸入引數要更寬鬆;
4.當子類的方法實現父類的抽象方法時,方法的後置條件(即方法的返回值)要比父類更嚴格。
形參:形式引數。沒有實際引數,可以變為乙個本地變數供方法使用。
實參:實際引數。賦給方法的實際的值。
ref :按引用傳遞
按值傳遞:傳遞的是變數的副本
按引用傳遞:不是拷貝副本,而是把引數當引用傳遞給方法
out:輸出引數
用乙個無值的引數,帶入方法並且返回結果
ref和out的區別:
ref必須呼叫前賦值out宣告時不用賦值 out的方法體內必須賦值
Linux知識點梳理
使用者名稱 主機名 root hostname 使用者名稱 主機名稱 符號含義 當前使用者屬於root使用者 當前使用者屬於普通使用者 注意 對系統進行配置管理時,如要root使用者 檢視主機名稱 hostname設定主機名稱 hostname hadoop senior.com注意 該方式設定,當...
spring 知識點梳理
1.spring預設所有管理的bean都是單例模式 懶載入,所有的bean都是交給spring容器中的map管理,生命週期與spring相同,如果使用多例模式,bean則是交給記憶體管理,生命週期與spring無關 2.ssm分層 控制層 服務層 資料層 對應的註解分別為 controller se...
Linux C知識點梳理
第1章 程式設計和c語言 最簡單的c語言程式 第2章 演算法 程式的靈魂 第3章 簡單的c程式設計 順序程式設計 常量,變數 先定義後使用 常變數,識別符號 資料型別 運算子與表示式,不同型別資料間混合運算 c語句 資料的輸入輸出,printf scanf 函式,字元資料輸入輸出 第4章 選擇結構程...