方法重寫(overwrite) 、方法覆蓋(override ):在繼承的基礎上,子類繼承了父類的方法,如果不能滿足自己使用,我們就可以重寫或覆蓋該方法
函數重載(overload):
在強數據類型的編程語言中(如Java、C、C++等等):
函數名稱相同,函數參數個數不同或者類型不同,從而形成多個同樣名稱的函數調用時,根據參數的個數或者類型自動完成調用函數的
注意:弱數據編程語言中,默認無法實現函數重載,如果要實現,則需要使用特殊手段
public int add(int x, int y) {
return x + y;
}
public int add(int ) {
return x* x;
}
public float add(float x, int y) {
return x + y;
}
public void add(int x, int y) {
System.out.print1n(x + y) ;
}
public int add(int y, int x) {
return x +y;
}
public float add(int x, float y) {
return x + y;
}
// add(10.56f, 30) ;
add(10, 5.314f) ;
super(),這個全局函數比較特殊,在面向對象中,默認指向父類,是一個指針
多態:
?? ?一種事物的多種狀態
?? ?面向對象中,多態指的是:
?? ??? ?在繼承的基礎上,使用更大的父類來代替子類的現象,被稱為多態
?? ??? ?簡而言之,父類引用指向子類實例
?? ?List
?? ?ArrayList
?? ?ArrayList al=new ArrayList(); //創建子類的方式
?? ?List ls = new ArrayList();//多態
?? ?像python、JS等弱數據類型語言,天生支持多態
通過大量的面向對象的案例,進行面向對象的練習
異常處理:
?? ?軟件的容錯能力的處理
?? ?異常:軟件運行過程中的不正常現象,如果不做處理,則會導致軟件無法正常執行而掛掉
?? ?異常處理:就是將這種異常進行處理,使得代碼能繼續正常運行(軟件的一種容錯)
?? ?異常處理,就是軟件的穩定性的提高和容錯能力的提高
注意:異常和致命性錯誤的區別:
?? ?異常是一種錯誤,但是錯誤不一定是異常(這里說的是可控性的異常
?? ?一般致命性的錯誤,需要修改代碼來解決
?? ?而異常時可以通過異常處理的方案來修復
python提供異常處理的方案:
?? ?try catch解決方案
try catch:
?? ?表示通過嘗試著抓捕異常來進行異常解決!!!
?? ?try:
?? ??? ?#有可能出現異常的代碼
?? ??? ?#代碼
?? ??? ?#......
?? ?except [xxException |xxxError]:
?? ??? ?#異常處理
?? ?except [xxException |xxxError]:
?? ??? ?#異常處理
?? ?except [xxException |xxxError]:
?? ??? ?#異常處理
?? ?[else:
?? ??? ?沒有異常時執行的代碼
?? ?]
?? ?[finally:
?? ??? ?#必要時執行的代碼
?? ?]
win+R 輸入calc打開計算器
finally:
?? ?不管存不存在異常,都會執行該代碼塊
?? ?所以一些必須要執行的代碼建議放在finally中,以保證肯定執行
?? ?如回收資料,銷毀緩存等等
注意1:如果函數中,在finally之前存在了return,而且在finally執行前,已經return,則在finally中的修改,不會出現在最終的結果
注意2:但是如果finally存在return,則之前的就會失效
try:?? ?
?? ?#code...
finally:
?? ?#為了使用finally特殊之處
?? ?#如果存在必須要執行的重要代碼,建議寫在finally
?
正則表達式(regular expresion):
什么是正則表達
正則表達式的誕生
編程語言中為什么使用正則表達式
python對于正則的支持——re
?? ?compile ‘findall’ ,’finditer‘,’match‘,’search‘,’split‘,’sub‘
正則表達式的寫法:
元字符:
?? ?. ? ? ? ? ? ? ? ? ? ? ? ?#匹配任意符號
re.match(".","Ama is good").group
'.*'匹配換行符前的所有字符
?? ?\w ? ? ? ??? ??? ?#匹配有效符號(包括中文)
?? ?\d?? ??? ?#匹配數字
?? ?\s?? ??? ?#匹配空白位
?? ?^?? ??? ?#以什么開始
?? ?$?? ??? ?#以什么結束
re.match("^a,*b$","afdsgbdshfbdhsjb")
?? ?[acasjdhasj45]?? ??? ?#列舉,只能是中括號中的某一個符號充當
re.match("t[advdch].*","ta")
?? ?[123456789]?? ??? ?#數字
?? ?[0-9]?? ??? ??? ?#數字
?? ?[a-z]?? ??? ??? ?#小寫字母
?? ?[A-Z]?? ??? ??? ?#大寫字母?
按照ASCII表來的遞增
?? ?[A-Za-z]?? ??? ?#大小寫字母
?? ?[_0-0a-zA-Z] ?? ??? ?#有效符號
反義符:?? ?
?? ?\D?? ??? ?#\d相反
?? ?\W?? ??? ?#\w相反
?? ?\S?? ??? ?#\s相反
?? ?^[dasdsadqw]?? ?#以什么開頭
?? ?[^dasdsadqw]?? ?#不能以什么開頭
python中匹配路徑 需要\\\\四個斜杠
re.match("c:\\\\a\\\\b",p)
或者re.match(r"c:\\a\\b",p)
重復、位數問題
?? ?*?? ?#0~多位
?? ?+?? ?#1~多位
?? ??(英文的)#0或者1
?? ?{n}?? ?#n位
?? ?{n,}?? ?#至少n位
?? ?{m,n}?? ?#在[m,n]
用戶登錄:
?
?
?