发展过程

相关简介
面向过程,是把解决的问题的步骤分析出来后再用编程一步一步实现
- 流程化编程任务明确,具体步骤清楚便于分析,同时效率高,善于结合数据结构来开发高效率的程序
- 代码重用性低,扩展能力差,后期维护难度比较大
面向对象,是一种抽象化的编程思想,很多编程语言都有的一种思想
- 结构清晰,程序是模块化和结构化,代码重用率高,可继承覆盖,系统低耦合易维护
- 面向多个不同对象编程开销大,对象的属性不允许外部直接存取,性能低扩展能力差
类 ( class ),是对一组相似 ( 特征和行为 ) 事物的统称,是一个抽象的概念,不是真实存在的事物,类是用来创建对象的模板
- 特征即是 属性,分为实例属性和类属性
- 行为即是 方法,分为实例方法和类方法
属性,在类中就是一个变量,用于保存类或对象的数据。实例属性即实例变量、类属性即类变量
方法,在类中就是一个函数,用于定义类或对象的功能。
实例化,通过类生产实例的过程
实例,因为类不能直接使用,通过类创建出真实存在的事物才可以使用,该事物叫实例,又叫实例化对象,也叫对象。即 实例=实例化对象=对象
通俗来说,制作工程师根据功能图纸制作出洗衣机,图纸就是类,洗衣机就是对象,即类与对象的关系就是用类去创建一个或多个对象,用类去实例化对象
类与函数
- 类面向是对象功能更强大,函数只是做特定的功能
- 主要区别是类中包含了各种变量(属性)和方法(函数),而函数没有这些。
定义
语法
class 类名(父类): # 用 class 进行定义类类体实例 = 类名() # 类名() 赋值于一个变量(实例名),即生成实例
类名(),这里的小括号表示调用构造方法,构造方法用于初始化对象
旧式类写法,Py2 使用
class 类名():pass实例(名) = 类名()
新式类写法,Py3 使用
class 类名(object): # object 建议写(可不写)pass实例(名) = 类名()
旧式类子类不能使用 super 函数调用父类的函数等其他功能限制,所以推荐使用新式类写法。object 是所有类的顶级类和父类,基类
- 案例
- 创建一个动物类,并生成一个对象 ```python class Animal(object): # 创建一个类(动物类) pass
dog = Animal() # 用动物类这个类创建一个实例(狗)
- 创建多个对象```pythonclass Animal(object):passdog = Animal() # 用动物类这个类创建一个实例(狗)cat = Animal() # 用动物类这个类创建一个实例(猫)
先定义类再创建实例对象,类名要一定要用大驼峰命名法,同时也要符合 Python 标识符命名规范,obeject 在 Python 中是所有类的基类
特性
封装
- 将 属性 和 方法 书写到类的里面的操作
- 封装可以为 属性 和 方法 添加私有权限
继承
- 子类默认继承父类的所有属性和方法
- 子类可以重写父类属性和方法
多态
- 传入不同的对象,产生不同的结果
