面向对象及编程

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

相关推荐
好看资源平台1 分钟前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
进击的六角龙22 分钟前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂22 分钟前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
湫ccc30 分钟前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤33 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
羊小猪~~37 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
lzhlizihang39 分钟前
python如何使用spark操作hive
hive·python·spark
q0_0p40 分钟前
牛客小白月赛105 (Python题解) A~E
python·牛客
极客代码43 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
庞传奇1 小时前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow