方法重写(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]
用户登录: