Day 22 面向对象基础
面向对象基础
面向对象编程
对象:特征和技能的结合体
面向对象编程就是一个个对象在进行交互
优点:扩展性非常强
缺点:逻辑非常复杂
类与对象
类(类别):一系列具有相同特征和技能的对象
现实世界中现有对象后有类
# 学生
学生1
学生2
# 老师
老师1
老师2
python中现有类再有对象
class 类名(驼峰体命名): #定义类会直接运行类中的代码
#定义特征
#定义技能
对象1=类名() #实例化对象
给对象定制独有的特征
class OldBoyStudent:
schol='oldboy'
def __init__(self,name,age):
self.name=name
self.age=age
def choose_course(self):
print('is choosing course')
stu1=OldBoyStudent('a',1)
stu1.school
stu2=OldBoyStudent('b'2)
stu2.school
对象的属性查找循序
先从对象本身开始找,然后从类中查找,类中没有的话就报错
类与对象的绑定方法
- 类名称空间中定义的数据属性和函数属性都是共享给所有兑现用的
- 对象名称空间中定义的只有数据属性,而且是对象独有的数据属性
- 类中定义的函数是绑定给对象用的,绑定给谁,就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入
- 类中定义的函数,类也可以使用,但类定义的函数大多数情况下都是绑定给对象使用的,所以在类中定义的函数都应该自带一个参数self
类与数据类型
list1=list([1,2,3,4])
list2=list([1,2,3,4])
list1.append(5)
list.append(list2,5)
对象的高度整合
对象会有一大堆属性/数据,还会有一大堆方法来操作这些属性,然后对于不同的对象这些属性又不同
浙公网安备 33010602011771号