美文网首页
Python Basic day10

Python Basic day10

作者: AIturbo | 来源:发表于2019-02-23 21:03 被阅读0次

    1,面向对象语言三大特性:

    封装 继承 多态
    (主要考虑继承!其它两个比较弱化)

    2,多态

    一种事物多种形态 (前提:子类是父类的另外一个形态)

    3,公有属性继承问题:

    父类的公有属性也会继承给子类对象,但是要注意__init__重写的重写问题
    
        class Dog(Animal):
    
            def __init__(self):   # __init__是一个初始化方法,重写了父类的__init__导致父类的age属性访问不到
                # Animal.__init__(self)
                # super().__init__()
                super(Dog, self).__init__()   # 如果想要把父类的属性也继承过来(解决重写的问题),需要调用到到父类的__init__方法,并且最好写在最开始到的位置
                self.name = "小狗"
                self.age = 0
    

    4,了解类属性和实例属性的概念

    类属性 指的是类对象的属性
    类属性的定义:在类里面,在方法之外 定义的,不用带self
    特点:类属性在各个对象之间共享

    实例属性 指的是实例对象的属性
    特点:在各个对象之间互相独立,互不干扰

    5,掌握类属性和实例属性的访问和修改方法

    类名.属性名 
    对象名.属性名
    
    类属性的访问和修改:
        1、类名.类属性名(最最常用)   Dog.num
        2、对象名.类属性名(不推荐使用)
        3、对象名.__class__.类属性名(了解)
        4、在类方法中, cls.类属性名 
    
        实例属性
        def __init__(self):
            self.age = 10   # 实例属性  特点:在各个实例对象之间的互不干扰的,互相独立的
    

    6,掌握类方法的使用

    @classmethod
    Def fn(cls):
    xxx
    类名.方法名()    Dog.fn()
    
    类方法格式:
        @classmethod  # 装饰器、修饰器
        def 类方法名(cls):   # 类方法, 用来处理类属性
            pass
    
        调用的格式:
        1、类名.类方法名()
        2、对象名.__class__.方法名()
    3、在类方法中  cls.类方法名()
    

    7,掌握静态方法的使用

    @staticmethod
    Def fn():
    xxx
    类名.方法名()    Dog.fn()
    

    8,实例方法,类方法,静态方法

    三种方法,实例方法最常用!

    9,了解单例模式的定义方式

    相关文章

      网友评论

          本文标题:Python Basic day10

          本文链接:https://www.haomeiwen.com/subject/clcmyqtx.html