zoukankan      html  css  js  c++  java
  • 继承,作业

    张金易作业

    1.什么是继承?继承的目的?
    继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父类称之为基类或超类。
    减少代码冗余
    2.python与期他语言的继承区别是什么?
    可以继承多个父类
    3.如何寻找继承关系?
    抽取对象之间相同的部分,总结出类
    抽出类中间相同的部分,总结出父类
    4.继承背景下对象属性的查找顺序是什么?
    - 画图
       ![python继承](C:UsersAdministratorDesktoppython继承.png)

    5.什么是派生?如何重用父类的属性并派生?两种方式
    指的是子类继承父类的属性与方法,并且派生出自己独有的属性与方法。
       若子类中的方法名与父类的相同,优先用子类的。
       第一种引用父类__init__(),然后添加新的参数
       第二种用super
       
    6.什么是新式类与经典类?
    凡是继承object的类或子孙类都是新式类。
    在python2中,凡是没有继承object的类,都是经典类


    7.钻石继承下,经典类与新式类属性的查找顺序是什么?
    - 画图
    - 广度
      - 深度

    8.下面这段代码的输出结果将是什么?请解释。
    class Parent(object):
      x = 1
    class Child1(Parent):
      pass
    class Child2(Parent):
      pass
    print(Parent.x, Child1.x, Child2.x)
           1 1 1
           继承父类
    Child1.x = 2
    print(Parent.x, Child1.x, Child2.x)
           1 2 ,1
          增加了一个的值
    Parent.x = 3
    print(Parent.x, Child1.x, Child2.x)
           3 2 3
           child2依然继承父类

    9.下述代码新式类与新式类的查找顺序是什么?
    class A(object):
       def test(self):
           print('from A')
    class B(A):
       def test(self):
           print('from B')
    class C(A):
       def test(self):
           print('from C')
    class D(B):
       def test(self):
           print('from D')
    class E(C):
       def test(self):
           print('from E')
    class F(D, E):
       def test(self):
           print('from F')
       pass

    # python3中校验:
    XX --> XX --> ...
       D-->B-->E-->C-->A
       


    # python2中校验:
    D-->B-->A-->E-->C
       

     

  • 相关阅读:
    [转帖]译文:如何使用SocketAsyncEventArgs类(How to use the SocketAsyncEventArgs class)
    如何建立一个“绑定友好的”usercontrol--wpf
    安卓学习(三)
    安卓学习(二)
    Android学习1
    用伪代码梳理springboot
    用伪代码梳理javaweb从零开始
    用伪代码梳理spring源码
    java如何写出简洁代码
    JAVA修复微信官方SDK支付XXE漏洞
  • 原文地址:https://www.cnblogs.com/zhangjinyi97/p/11937835.html
Copyright © 2011-2022 走看看