zoukankan      html  css  js  c++  java
  • 面向对象的解释

    面向对象
    基础:三大特性

    1.继承

    2.抽象

    python 抽象示例:

      

    import abc

    from abc import *

    classSClass(metaclass = abc.ABCMeta):

           @abstractmethod

           def my_print(self):

                  pass

    classCClass(SClass):

           pass

    cc = CClass() 

    3.封装


    进阶:

    特殊方法:

    __enter__
    __exit__

    上面这两个特殊方法是with方法进去后和出来后执行的函数.


    高级:metaclass
    1. 创建类有2中方式
    class Foo(object): pass

    type('Foo',(object,),{})

    2. 如果想要一个类由其他type创建,可以通过metaclass进行指定

    class Mytype(type):

    def __call__(self....):
    pass


    # 1. 执行Mytype.__init__
    class Foo(metaclass=Mytype):

    def __init__():
    pass

    def __new__(...):
    return 对象


    # 2. 执行Mytype.__call__
    # 3. 执行Foo类的__new__
    # 4. 执行Foo类的__init__
    obj = Foo()

  • 相关阅读:
    nginx 安装配置
    mysql分表
    冲刺day7
    冲刺day6
    冲刺day5
    冲刺day4
    冲刺day3
    冲刺day2
    冲刺day1
    撰写《需求规格说明书》的工作流程、组员分工和组员工作量比例
  • 原文地址:https://www.cnblogs.com/ahliucong/p/10592739.html
Copyright © 2011-2022 走看看