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)

对象的高度整合

对象会有一大堆属性/数据,还会有一大堆方法来操作这些属性,然后对于不同的对象这些属性又不同

posted @ 2019-06-18 20:35  萨萌萌  阅读(122)  评论(0)    收藏  举报