1.面向对象


1.了解面向对象

面向对象 是一种抽象化的编程思想,很多编程语言中都有的一种思想。

例如: 洗衣服

思考: 几种途径可以完成洗衣服?

答: 分两种: 手洗和机洗

首先分析两种;

1.手洗的过程是; 找盆子-放水-加洗衣粉-侵泡-搓洗-拧干-倒水-漂洗N次-拧干-晾晒

2.机洗的过程是:打开洗衣机-放衣服-放洗衣粉-按开始按钮-晾晒

思考; 对比两种洗衣途径,你们发现了什么?

答; 机洗更简单

思考:机洗,只需要找到一台洗衣机,加入简单操作就可以完成洗衣的工作,而不需要关系洗衣机内部发生了什么事情。

总结;面向对象就是将编程当初一个事务(洗衣机),对外界来说,事务是直接使用的,而不用管他内部的情况。而编程就是设置事物能够做什么事。

而面向对象的程序,就好比是制造洗衣机,去帮助用户解决问题。

2.类和对象

思考:洗衣机洗衣服描述过程中,洗衣机其实就是一个事务,就是对象,洗衣机对象哪里来得呢?

答:洗衣机是由工厂工人制作出来的

思考: 工厂工人怎么制作出的洗衣机?

答:工人根据设计师的功能图纸制作出来的

总结: 图纸-->洗衣机-->洗衣服

在面向对象过程中,有两个重要的组成部分:对象

类 ===> 图纸

对象==> 洗衣机

 类和对象的关系:用类创建一个对象

2.1 类

类是一系列具体相同特征行为的事物的统称,是一个抽象的概念,不是真实存在的事物。

特征==>属性(变量)

行为==>方法(函数)

类比如是制造洗衣机的时候用到发的图纸,也就是说类是用来创建对象的

 2.2 对象

对象是由类创建出来的,是真实存在的事物,例如:洗衣机

注意: 在开发中,先有类,后有对象。

 3.面向对象实现方法

在python2中分为:经典类和新式类

类 语法:

class 类名():
    代码
    .......

 注意: 类名要满足命名标识符规则,同时遵循大驼峰习惯。

3.1 创建对象

语法:

对象名 = 类名()

 3.2 类里面的self

self 指的是调用这个函数的对象

3.3 一个类创建多个对象

 3.4 类外面添加对象属性

添加和获取对象属性

属性即是特征,比如:洗衣机的宽度,高度,重量。。。。

对象属性 即可以在类外面添加和获取,也能在类里面添加和获取。

3.4.1 类外面添加对象属性

语法:

对象名.属性名 = 值

3.5 类外面获取对象属性

语法:

对象名.属性名

 3.6 类里面获取对象属性

语法:

self.属性名

3.7 魔法方法

在python中,__XX__()的函数叫做魔法方法,指的是具有特殊功能的函数。

①__init__()方法的作用:初始化对象

思考: 洗衣机的宽度高度是与生俱来的属性,可不可以在生产过程中就赋予这些属性?

答:本应如此

注意: __init__()方法,在创建一个对象的时候默认被调用,不需要手动调用

注意: __int__()中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

 3.8 带参数的__init__()

思考:一个类可以创建多个对象,如何对不同的对象设置不同的初始化属性呢?

答:传参数

 3.9 __str__()

当使用print输出对象的时候,默认打印对象的内存地址。

如果类定义了__str__方法,那么就会打印从在这个方法中return的数据。

 4.0 __del__()

当删除对象的时候,python解释器也会默认调用__del__方法