魔法方法的语法
class 类名():
def __init__():
__init__初始化函数,用来完成一些默认的设定

__init__ 函数在创建对象时被默认调用,不需要手动调用,里面有一个默认的参数self,后面跟着的是形参,创建对象时,如若传递两个实参,那么传参的位置一定要和形参对应,否则可能会报错,或者并非预期的效果。
__str__


当使用print输出对象的时候,只要自己定义了str(self)方法,那么就会打印从在这个方法中return的数据。
__new__
用来创建对象,并返回对象的引用

__del__
用法 del 对象名
销毁对象,默认情况下在程序结束后运行
私有方法和私有属性
实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用
私有属性就是对象不希望公开的属性
私有方法就是对象不希望公开的方法

单继承
继承的概念:子类 拥有 父类 的所有 方法 和 属性
子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发
重写:子类和父类有同样的方法时,调用方法子类会覆盖父类的方法,若想调用
父类的方法,用super()函数

多继承
子类可以继承多个父类的属性和方法

多态
多态不同的 子类对象 调用相同的 父类方法,产生不同的执行结果
多态 可以 增加代码的灵活度
以 继承 和 重写父类方法 为前提
是调用方法的技巧,不会影响到类的内部设计

单例
目的——让类创建的对象,在系统中只有唯一的一个实例
每一次执行类名()返回的对象,内存地址是相同的
通过 __new__方法来判断,代码如下:

网友评论