一 面向对象定义
将问题空间中的元素以及它们在解空间中的表示物抽象为对象,并允许通过问题来描述问题而不是文案,
可以把对象想象成一种新型变量,它保存着数据,但可以对自身的数据执行操作
比如
ll = [0,1,2]
ll.pop()
对自身进行数据操作,对ll列表进行pop操作
所有的东西都是对象
程序是一大堆对象的组合
一个对象内可以存放其他对象(调用)
每个对象都属于某一个类型,类型->类,对象是类的实例
二 类定义
类型是由状态集合(数据)和转换这些状态的操作集合组成
类抽象:
类:将同一种具体的物事的共同特性抽象出来的表现
定义了被多个同一类型对象共享的结构和行为(数据和代码),先抽象后具体,比如车->大众
类被实例化之后才能进行操作
类包含数据(成员变量或实例变量)和方法(如何使用变量)
一个类的行为和接口是通过方法来定义的
定义 一个类后,可以根据需要实例化出多个对象
如何利用对象完成真正有用的工作?
必须有一种方法能向对象发出请求,让其做一些事情
每个对象仅能够接受特定的请求:能向对象发送的请求由其“接口”进行定义,对象的类型或类规定了它的接口形式
三 关系
依赖:一个类的方法去操纵另一个类的方法
聚合:类A的对象包含类B的对象(如列表中有字符串)
继承:特殊与一般的关系
四 原则
封装:
继承:按层分类
多态:一个接口,多个方法
def plus(a,b):
print(a+b)
plus(1,2)
plus("a","b")
plus([1,2],[3,4,5])
五 python类和实例
类是一种自定义类型,实例则是声明某个自定义类型的变量
实例初始化
通过调用类来创建实例