09-python的面向对象

# 1. 面向对象概述(ObjectOriented,OO)

- OOP思想
  - 接触到任意一个任务,首先想到的是任务这个世界的构成,是由模型构成的

- 几个名词
  - OO:面向对象
  - OOA:面向对象的分析
  - OOD:面向对象的设计
  - OOI:xxx的实现
  - OOP:xxx的编程
  - OOA->OOD->OOI: 面向对象的实现过程

- 类和对象的概念
  - 类:抽象名词,代表一个集合,共性的事物
  - 对象:具象的事物,单个个体
  - 类跟对象的关系
    - 一个具象,代表一类事物的某一个个体
    - 一个是抽象,代表的是一大类事物

- 类中的内容,应该具有两个内容
  - 表明事物的特征,叫做属性(变量)
  - 表明事物功能或动作, 称为成员方法(函数)

 

# 2. 类的基本实现

- 类的命名
  - 遵守变量命名的规范
  - 大驼峰(由一个或者多个单词构成,每个单词首字母大写,单词跟单词直接相连)
  - 尽量避开跟系统命名相似的命名

- 你如何声明一个类
  - 必须用class关键字
  - 类由属性和方法构成,其他不允许出现
  - 成员属性定义可以直接使用变量赋值,如果没有纸,许使用None

- 实例化类
  变量 = 类名() #实例化了一个对象

- 访问对象成员
  - 使用点操作符
    obj.成员属性名称
    obj.成员方法

- 可以通过默认内置变量检查类和对象的所有成员
  - 对象所有成员检查
    # dict前后各有两个下划线
    obj.__dict__
  - 类所有的成员
    # dict前后各有两个下划线
    class_name.__dict__

 

# 3. 类和对象的成员分析


- 类和对象都可以存储成员,成员可以归类所有,也可以归对象所有
- 类存储成员时使用的是与类关联的一个对象
- 独享存储成员是是存储在当前对象中
- 对象访问一个成员时,如果对象中没有该成员,尝试访问类中的同名成员,
  如果对象中有此成员,一定使用对象中的成员
- 创建对象的时候,类中的成员不会放入对象当中,而是得到一个空对象,没有成员
- 通过对象对类中成员重新赋值或者通过对象添加成员时,对应成员会保存在对象中,而不会修改类成员

 

# 4. 关于self


- self在对象的方法中表示当前对象本身,如果通过对象调用一个方法,那么该对象会自动传入到当前方法
的第一个参数中
- self并不是关键字,只是一个用于接受对象的普通参数,理论上可以用任何一个普通变量名代替
- 方法中有self形参的方法成为非绑定类的方法,可以通过对象访问, 没有self的是绑定类的方法,
只能通过类访问
- 使用类访问绑定类的方法时, 如果类方法中需要访问当前类的成员,可以通过 __class__成员名来访问

posted @ 2019-05-07 13:00  zifeng001  阅读(122)  评论(0编辑  收藏  举报