一,面向对象基础

mac2022-06-30  22

 

今日内容1,面向对象的概念2,类和对象概念3,如何创建类和对象4,如何设计属性5,属性的查找顺序6,__init__,初始化类的方法7,绑定方法与非绑定方法 1,面向对象的概念 面向对象:是一种编程思想 面向对象的三大优点 1.扩张性 2.灵活性 3.复用性 缺点: 1.程序的复杂度提高了 2.无法准确预知结果 使用场景 对扩展性要求较高的程序 ,通常是直接面向 用户的,例如:qq,微信 2,类和对象概念 对象:具体存在的某个事物,具备一定特征和行为 是技能和特征的结合体 类: 是一系列具备相同特征和行为的对象的集合,是一种抽象的概念 类和对象的关系: 类 包含一系列对象 对象 属于某个类 1,对象是关于类而实际存在的一个例子,即实例 2,对象/实例只有一种作用:属性引用 总结出一个结论:在使用面向对象编程时,第一步就是思考需要什么样的对象, 对象具备什么样的特征和行为,从而根据 这些信息总结出需要的类型 3,如何创建类和对象 1,创建类 class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 def 方法名(self):pass def 方法名2(self):pass 对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西(创建对象) #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法 #括号里传参数,参数不需要传self,其他与init中的形参一一对应 #结果返回一个对象 对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可 对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可 2,创建对象的语法: class Person: pass #创建对象 p = Person() 4,如何设计属性 在面向对象中,把变量名称之为数据属性,把函数名称之为函数属性 1,类中的属性是,是类中所有对象共有的, 2,对象中的属性,是对象特有的, 5,属性的查找顺序 1,如果类和对象中都有共同属性,先访问对象自身属性,如果无在访问类属性 属性的增删改 1,增加属性 对象变量名称.属性名称 = 属性值 2,修改 对象.属性 = 新的值 3,查看属性 访问的是对象的所有属性 print(对象.__dict__) 4,访问对象的类信息 print(对象.__class__) 6,__init__,初始化类的方法 # init方法 叫做初始化方法,本质上就是一个函数 特点1: 当实例化 对象时,会自动执行init方法 特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改 功能:用户给对象赋初始值 7,绑定方法与非绑定方法 1,对象绑定方法(需要访问对象本身的方法就是对象绑定方法) 类里面的方法默认的都是对象绑定方法 本质不是当使用对象调用该函数时会自动传入对象本身,作为第一个参数 当使用对象调用该函数时会自动传入对象本身,作为第一个参数 当使用类名来调用时他就是一个普通函数,有几个参数就得传几个参数 在面向对象中,把变量名称之为数据属性,把函数名称之为函数属性 为什么需要对象绑定:是因为函数里面需要访问对象中的数据 2,类绑定方法 类绑定方法用@classmethod来装饰 特殊之处:不管用类还是对象调用,都会自动传入类本身,作为第一个参数 什么时候绑定给对象:当函数逻辑需要访问对象中的数据时 什么时候绑定给类:当函数逻辑需要访问类中的数据时 3.非绑定方法 也叫作静态方法,就是即不需访问类的数据,.也不需要访问对象的数据 语法:@staticmethod

 

转载于:https://www.cnblogs.com/Fzhiyuan/p/11241065.html

最新回复(0)