目录

★面向对象程序设计基本特征:

○抽象:

○封装:

○继承:

○多态:

对象和类:

★类:

●类的定义:

● __init__()与__del__()方法

○__init()__:

● __init__()方法调用的时机:

●__del__()方法:

★ 实例属性和类属性

●实例属性:

● 类属性:

★ 继承:

父类(基类)和子类(派生类)

★ 重写:(参数保持一致)

 ★访问控制:


★面向对象以数据为中心设计,面向过程以功能为中心设计

★面向对象程序设计基本特征:

○抽象:

抽取现实问题和实体的本质

○封装:

将本质包装起来内部实现

○继承:

1。新创建的类的一些特征可以从其他已有的类获得

2。子类继承父类所有属性和方法,允许修改和添加其他的特征,父类保持不变

3。提高代码复用性

○多态:

一个事物有多种不同的解释,根据传递参数的不同执行不同的函数或操作不同的代码

对象和类:

类是对象的特征抽象,类的实例化是对象

★类:

●类的定义:

1.

PYTHON笔记 面向对象程序设计_算法

类体需要缩进,它定义一些类的属性和方法

 

2.

 

PYTHON笔记 面向对象程序设计_职场和发展_02

●实例:

PYTHON笔记 面向对象程序设计_父类_03

例:

PYTHON笔记 面向对象程序设计_python_04

在类定义中,可以定义本类对象都能使用的函数,称为方法

方法定义在类中,只能被实例调用

在python中,方法的定义形式除了第一个参数(self)外,其他都一样

self:对象自身的引用,在对象调用方法时,自动将对象作为第一个参数传入方法中

使用self,在类中定义的方法就可以获得对象的引用,从而对对象进行操作

 

● __init__()与__del__()方法

○__init()__:

1。对象创建完成后被python自动调用

2。实例对象本身作为self参数传递

3。是在对象创建后被python自动调用的第一个方法

PYTHON笔记 面向对象程序设计_职场和发展_05

● __init__()方法调用的时机:

系统创建对象-》检查是否实现__init__()—》调用__init__(),并把实例自身作为self参数传入-》对象创建完成

●__del__()方法:

用来回收对象,通过调用del变量来完成

1。当引用计数减少到0时,python自动释放对象

2.程序执行退出或者显示调用del都会减少引用计数

3。python自动释放对象前最后一个调用的方法

PYTHON笔记 面向对象程序设计_python_06

PYTHON笔记 面向对象程序设计_职场和发展_07

★ 实例属性和类属性

●实例属性:

1、实例属性创建时间:实例创建时或者实例创建之后

2、所有实例属性保存在名为__dict__内嵌属性里

PYTHON笔记 面向对象程序设计_算法_08

PYTHON笔记 面向对象程序设计_python_09

● 类属性:

类属性是与其所属的类绑定的,不依赖于任何实例,作为所有该类对象的静态数据提供对象或者全局使用(静态属性)

用"类名."的形式修改类属性

PYTHON笔记 面向对象程序设计_职场和发展_10

 类属性常用来跟踪与类相关的值,常见的应用有对象计数器

PYTHON笔记 面向对象程序设计_python_11

★ 继承:

父类(基类)和子类(派生类)

子类的创建和继承:

PYTHON笔记 面向对象程序设计_类属性_12

子类定义好之后,就可以继承父类所有方法和属性,也可以增加自己的属性和方法 

★ 重写:(参数保持一致)

子类继承父类后,可以直接用父类的方法,也可以对父类的方法进行改写

这样的改写称为重写

子类改写父类的方法,从而部分地改变父类的行为

包括运算符,构造器在内的方法都可以被重写

重写父类方法时,父类方法中的定义操作不会被自动调用

●重定义:(修改参数并改变功能)

PYTHON笔记 面向对象程序设计_类属性_13

 ★访问控制:

默认情况下,python类的成员属性与方法都是公共的

提供“访问控制符”来限定成员函数的访问

__#(双下划线)

PYTHON笔记 面向对象程序设计_父类_14

 __name为私有属性,在类以外 的其他代码中不可见

由双下划线开始的属性在运行是会被加上上下划线和类名