面向对象2

魔法方法的语法

class 类名():

        def  __init__():

        __init__初始化函数,用来完成一些默认的设定


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

__str__

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

__new__

用来创建对象,并返回对象的引用


   __del__

用法  del    对象名 

销毁对象,默认情况下在程序结束后运行

私有方法和私有属性

实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用

私有属性就是对象不希望公开的属性

私有方法就是对象不希望公开的方法


单继承

继承的概念:子类 拥有 父类 的所有 方法 和 属性

子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发

重写:子类和父类有同样的方法时,调用方法子类会覆盖父类的方法,若想调用

父类的方法,用super()函数

多继承

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


多态

多态不同的 子类对象 调用相同的 父类方法,产生不同的执行结果

多态 可以 增加代码的灵活度

以 继承 和 重写父类方法 为前提

是调用方法的技巧,不会影响到类的内部设计


单例

目的——让类创建的对象,在系统中只有唯一的一个实例

每一次执行类名()返回的对象,内存地址是相同的

通过 __new__方法来判断,代码如下:


你可能感兴趣的:(面向对象2)