• 17.面向对象的写法


    面向对象:

    我这里做几个重要的知识点归纳起来:

    1.创建单个类和多个类

    2.初始化类

    3.类里面函数的调用以及参数传递

    4.类模块封装的调用

    关于类的介绍:

    1.物有属性 其相同具有的属性归为类

    在我们的认知中为什么能很快的区分鸡和鸭呢?

    是因为我们在意识里已经对他们分类了,我们认为鸡有鸡冠,不能游泳,而鸭没有这两项功能,我们二者区分开来。

    2.父类与子类

    这两者就像爸爸跟儿子的关系,俺爸生了你,那么你就会遗传俺爸的基因,简而言之,就是你们俩会具备某些一致的

    东西,在程序里的思维也是这样,子类在遗传父类的过程中叫‘继承’

    我们在代码中来看看实现方式:

    class Test(object):
        def __init__(self):
            pass
        print('我是最大的Test类')
    
    def main():
        t = Test()
        print(t)
    
    if __name__ == '__main__':
        main()

    将这段代码拆分为三段:

    1.标准的开始程序的写法:if__name__ == '__main__':

    2.调用main()函数

    3.将类付给变量t,那么t就可以使用类了

    4.class + 类名    注意:类名首字母必须大写,括号内参数object代表他已经是尽头的类了,他没有父类了。如果没有object那就说明他还有父类

    5.def __init__(self):  类的初始化,在这里没有对初始化做什么操作。

    再看一些例子:

    class Test(object):
        def __init__(self):
            self.test1 = '我具备test1功能'
            self.test2 = '我具备test2功能'
            self.test3 = '我具备test3功能'
    
        def function1(self):
            print(self.test1)
            print(self.test2)
            print(self.test3)
    
    def main():
        t = Test()
        t.function1()
    
    if __name__ == '__main__':
        main()

    这里做了一些简单的初始化操作:

    一个尽头Test类具备test1 test2 test3 的功能

    将类赋给变量t,那么t就可以使用‘t.函数名’的方法来调用函数了。

    再看一下继承的实现:

    test1 = '具备test1功能'
    test2 = '具备test2功能'
    test3 = '具备test3功能'
    a = '具备新增的A功能'
    
    class Test(object):
        def __init__(self,test1,test2,test3):
            self.test1 = test1
            self.test2 = test2
            self.test3 = test3
    
    class Test1(Test):
        def __init__(self):
            self.testA = a
            super(Test1, self).__init__(test1,test2,test3)
        def function(self):
            print('我是Test的子类Test1:',test1,test2,test3)
            print('我还额外',a)
    def main():
        t = Test1()
        t.function()
    
    if __name__ == '__main__':
        main()

    在子类Test1中初始化Test父类,继承它所具备的的功能

    与此同时,你的子类也可以额外新增功能。

    除了在一个父类中继承,也可在多个父类中继承,我们称之为'多重继承':

    class A(object):
        def __init__(self, a):
            print('init A...')
            self.a = a
    
    class B(A):
        def __init__(self, a):
            super(B, self).__init__(a)
            print('init B...')
    
    class C(A):
        def __init__(self, a):
            super(C, self).__init__(a)
            print('init C...')
    
    class D(B, C):
        def __init__(self, a):
            super(D, self).__init__(a)
            print('init D...')

    这里我们可以知道B继承了A  C继承了A  D继承了B和C  那么D具备A B C所有的功能

  • 相关阅读:
    json的相关知识
    实现highcharts放大缩小
    js总结
    sql语句学习
    关于echarts生成雷达图的一些参数介绍
    在表单导航中如何判断其进行到第几步
    IDEA的相关使用-----快捷键
    简单安装squid步骤
    feign调用文件上传服务,传参MultipartFile
    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
  • 原文地址:https://www.cnblogs.com/zhouA/p/15896676.html
Copyright © 2020-2023  润新知