面向对象及编程

C语言是一门面向过程的编程语言,

C++、Java这些编程语言都是面向对象。

分门别类:抽取事物的共性,将相似事物归纳为一个类别

面向的对象的核心概念:

类:就是一个事物的类别

|--属性

|--方法

对象(object):某一个类别中的具体案例

python进行面向对象编程

定义类

创建对象

调用对象的属性或者方法,完成具体案例

定义类:

分析类的共性:

静态特征:属性

动态的行为特征:函数 方法method

python,定义需要关键字class

class 类名称(父类):

#定义类的成员

面向对象的专业术语:

OO(oriented object):面向对象

OOP(oriended object programming):面向对象的编程

OOA(oriented objectanalysis):面向对象的分析

OOD(oriented object design):面向对象的设计

OOT(oriented object test):面向对象的测试

python如何定义类:关键字class

class Classname(superclass):

def_init_(self):

def method01():

pass

初始化对象

对象名称 = ClassName() #类似Java中:User ul = new User()

面向对象的三大特征:

封装

继承

多态

【抽象】

封装: 在面向对象中,封装往往有两层意思

1.类封装属性和方法

2.基于安全性属性考虑,面向对象会将属性私有化

一定要记得,python的标识符命名的特殊的规范:

1.所有都是大写的,表示常量

2.大驼峰一般表示类

3._xxx

from xxxx import *

4.__xxx

魔法属性或者方法

5.__xxx

封装属性或者方法

总结:python中,封装共有三种写法,一般而言,哪一种都可以,根据公司的规定写就ok

继承(extend):

类与类之间:目的(复用代码)

python如何实现继承:

classClass_Name(父类):

pass

父类(基类,超类):super class

注意:在python中,如果子类中初始化函数不存在,则会根据继承去初始化父类的初始化函数

如果子类有了自己的初始化函数,要在子类的初始化函数的第一行调用父类的初始化函数

使用super().init(传递对应的属性参数)

方法重写:

方法重写,方法覆盖(override overwrite)

指的是在继承的基础上,子类继承父类的方法不能满足子类使用时,我们就可以重写或覆盖方法。

函数重载(overload)

在强数据类型的编程语言中(如Java、C、C++等)

函数名称相同,函数参数个数不同或者类型不同,从而形成多个同样名称的函数调用时,根据参数的个数或者类型自动完成调用函数

注意:弱数据编程语言中,默认无法实现函数重载,如果要实现,则需要使用特手段

面试题:overload、overwrite、override三者的区别:

补充

super(),这个全局函数比较特殊,在面向对象中,默认指向父类,是一个指针

多态

一种事物的多种状态

面向对象中,多态指的是:在继承的基础上,使用跟大的父类来代替子类的现象,被称为多态简而言之,父类引用指向子类实例

List

ArrayList

ArrayList al = new ArrayList(); //创建子类的方式

List ls = new ArrayList(); //多态

l= ArrayList()

像python、JS等弱数据类型语言,天生支持多态

通过大量的面向对象的案例,进行面向对象的练习

异常处理

软件的容错能力的处理

异常:软件运行过程中的不正常像好像,如果不做处理,则会导致软件无法正常执行而挂掉

异常处理:就是将这种异常进行处理,使得代码能继续正常运行(软件的容错处理)

异常处理,就是软件的稳定性的提高和容错能力的提高

注意:异常和致命性错误的区别

异常是一种错误,但是错误不一定是异常一般致命性的错误,需要修改代码来解决而异常是可以通过异常处理的方案来修复

python提供异常处理的方案

try catch解决方案

try catch

表示通过尝试着抓捕一场来进行异常解决

try:

#有可能出现异常的代码

#代码

.......

except xx Exception \|xxxError:

#异常处理

except xx Exception \|xxxError:

#异常处理

[else:

没有异常时执行的代码

]

[finally:

#必须要执行的代码

]

finally语法

不管存不存在异常,都会执行该代码块

所以一些必须要执行的代码建议放在finally中,以保证肯定执行如回收资料、销毁缓存等等

注意:如果函数中,在finally之前存在了return,而且在finally执行前,已经return,则finally中的修改,不会影响注意:但是finally存在return,则之间的就会失效

相关推荐
m0_6174939434 分钟前
Python OpenCV 透视变换(Perspective Transform)详解与实战
开发语言·python·opencv
小李不困还能学37 分钟前
PyCharm下载安装与配置教程
ide·python·pycharm
博观而约取厚积而薄发1 小时前
Pytest 从入门到精通,一篇就够(超详细实战教程)
python·测试工具·单元测试·自动化·pytest
imzed1 小时前
使用 Playwright + Pytest 构建 Web UI 自动化测试框架
python·自动化·pytest
普通网友1 小时前
pytest一些常见的插件
开发语言·python·pytest
时空系1 小时前
Python 高性能高压缩打包器 —— 基于 JianPy 语义分析引擎
python
cndes2 小时前
给Miniconda换源,让包下载更迅速
开发语言·python
Metaphor6922 小时前
使用 Python 添加、隐藏和删除 PDF 图层
python·pdf·图层
丨白色风车丨2 小时前
【Python 计算机视觉】基于 Dlib+OpenCV 实现实时人眼疲劳检测(闭眼预警)
python·opencv·计算机视觉