随笔分类 - 面向对象
面向对象相关总结
摘要:单例实现 class User: __instance = None def __new__(cls, *args, **kwargs): if not cls.__instance: cls.__instance = super().__new__(cls) # 记录创建的对象 return cl
阅读全文
摘要:####反射方法 **反射:**不需要直接调用对象的属性或是方法,通过提供需要运行的方法或属性的名字(字符串),直接内存中搜索有没有与之相同的属性或方法,如果存在直接可以运行即可。 **作用:**提高代码容错性以及提升开发效率,扩展性很高 # 需求:定义用户,人能够说话,唱歌,跳舞.... # 根据
阅读全文
摘要:魔法方法 定义:以双下划线开头和结尾的方法,这些方法不允许开发者自己定义 特点:不需要显式的调用,每一个魔法方法都具有特定的触发时机 目前说过的魔法方法 __init__() :对象创建完成后,对对象初始化时会调用 __new__() :创建对象的时候,会调用 __str__() :直接打印某个对象
阅读全文
摘要:####实例方法,类方法,静态方法 # 格式 class A: def 实例方法(self): """实例方法""" pass @classmethod def 类方法(cls): """类方法""" pass @staticmethod def 静态方法(): pass 代码演示 class St
阅读全文
摘要:####实例属性和类属性 1 概念 实例属性:每个对象具有的属性,且每个属性的值一般不同,比如每个人的姓名 类属性:每个对象具有的属性,但是每个属性的值相同,比如人类的最大寿命,班级内学生的性别 2 区别 (1)概念上 实例属性值是每个对象各自独立的,在内存中也会出现多份 类属性一般所有对象都共有的
阅读全文
摘要:##一、封装 封装:将一些属性或是方法打包起来,让外界不能随便访问,达到保护隐私的目的。 方法:通过私有属性和私有方法来实现,就是将属性或是方法名前添加双下划线 私有属性和私有方法 定义:双下划线开头的属性和方法 特点:对象在类外不能直接访问,在类内部可以访问 ##二 继承 ####1 继承格式 子
阅读全文
摘要:一 面向对象和面向过程 什么面向过程,什么是面向对象,二者之间有什么区别? 答:这是两种不同的开发代码的模式. 面向过程开发(Procedure Oriented Programming,POP):按照业务的逻辑顺序,通过函数来实现某一功能,从上到下逐一调用函数的过程,比较适合功能变化不多的场景,C
阅读全文