* **7.1 类和实例**
* **7.1.1 类**
* **7.1.2 实例变量和类变量**
* **7.1.3 类的方法**
* **7.2 面向对象编程有三大重要特征**
* **7.2.1 封装**
* **7.2.2 继承**
* **7.2.3 多态**
* **7.3 成员保护和访问限制**
* **7.4 特殊成员和魔法方法**
面向对象编程:`Object Oriented Programming`,简称`OOP`,是一种程序设计方法。
## **面向对象和面向过程的区别**
```
完成自我介绍功能,面向过程完成功能
stu_a = {
"name":"A"
"age":18,
"hometown":"东北"
}
stu_b = {
"name":"B"
"age":19,
"hometown":"山东"
}
stu_c = {
"name":"C"
"age":20,
"hometown":"河北"
}
def stu_info(stu):
# 自我介绍
for key,value in stu.items():
print("key=%s,value=%d"%(key,value))
stu_info(stu_a)
stu_info(stu_b)
stu_info(stu_c)
# 接下来我们用面向对象的思想来完成功能
stu_a = Student(个人信息)
stu_b = Student(个人信息)
stu_c = Student(个人信息)
stu_a.info()
stu_b.info()
stu_c.info()
# 文件读写
f = open(path,'r')
f.read()
f.close()
```
面向过程:根据业务逻辑从上到下写代码,要面面俱到都要思考到
面向对象:将数据与函数绑定到一起,进行封装。减少重复代码的重写过程,找一个能完成这个功能的哥们来完成
面向对象和面向过程都是解决问题的一种思路而已。
## **概念及术语**
- **类(Class)**: 用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
- **实例**: 也称对象。通过类定义的初始化方法,赋予具体的值,成为一个"有血有肉的实体"。
- **实例化**: 创建类的实例的过程或操作。
- **实例变量**: 定义在实例中的变量,只作用于当前实例。
- **类变量**: 类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
- **数据成员**: 类变量、实例变量、方法、类方法、静态方法和属性等的统称。
- **方法**: 类中定义的函数。
- **静态方法**: 不需要实例化就可以由类执行的方法
- **类方法**: 类方法是将类本身作为对象进行操作的方法。
- **方法重写**: 如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。
- **封装**: 将内部实现包裹起来,对外透明,提供api接口进行调用的机制
- **继承**: 即一个派生类(derived class)继承父类(base class)的变量和方法。
- **多态**: 根据对象类型的不同以不同的方式进行处理。
- 逻辑教育-Python编程:零基础到入门
- 版权声明
- 第1章 Python环境搭建
- 1.1-Python介绍
- 1.2-编译器与解释器
- 1.3-Python环境搭建
- 1.4-pip的介绍和使用
- 1.5-代码编辑器
- 第2章 Python基础
- 2.1-基础语法
- 2.2-变量与常量
- 2.3-输入和输出
- 2.4-运算符
- 第3章 Python数据类型
- 3.1-数据类型
- 3.2-数字类型
- 3.3-布尔类型
- 3.4-列表
- 3.5-元组
- 3.6-字典
- 3.7-bytes
- 3.8-集合
- 第4章 Python流程控制
- 4.1-顺序执行
- 4.2-条件判断
- 4.3-循环控制
- 第5章 Python函数
- 5.1-range函数
- 5.2-匿名函数
- 5.3-推导式
- 5.4-迭代器
- 5.5-生成器
- 5.6-装饰器
- 5.7-内置函数
- 第6章 Python文件读写
- 6.1-文件类型
- 6.2-文件的基础操作
- 6.3-文件对象操作
- 第7章 面向对象编程
- 7.1-类和实例
- 7.2-封装、继承和多态
- 7.3-成员保护和访问限制
- 7.4-特殊成员和魔法方法
- 作业一
- 作业二
- 作业三
- 作业四
- 作业五
- 作业六
- 作业七