面向对象及编程

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,则之间的就会失效

相关推荐
电饭叔28 分钟前
《python语言程序设计》2018版第8章19题几何Rectangle2D类(下)-头疼的几何和数学
开发语言·python
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
杰哥在此2 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
zaim14 小时前
计算机的错误计算(一百一十四)
java·c++·python·rust·go·c·多项式
PythonFun8 小时前
Python批量下载PPT模块并实现自动解压
开发语言·python·powerpoint
炼丹师小米9 小时前
Ubuntu24.04.1系统下VideoMamba环境配置
python·环境配置·videomamba
GFCGUO9 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
985小水博一枚呀10 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
萧鼎12 小时前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
IFTICing12 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合