美文网首页
代码继承

代码继承

作者: Carden | 来源:发表于2017-10-30 15:47 被阅读11次

补写父类?

只要是子类改写父类里的方法。就必须首先判断(self = [super 被改写的父类方法名称])的方法是否为真!只有这个判断为真,才能在子类里对父类的方法进行重造。那么问题来了,为什么必须要进行这个判断呢?不是有曾说过吗?子类改写父类的方法根本不需要写任何代码直接就是执行子类里的方法。原因在于当父类与子类有相同的方法时,执行时完全以子类里的方法为主。根本不考虑父类里的这个方法长什么样?那么为什么有时候还要加(self = [super 被改写的父类方法名称])这句话呢?答案就是,子类里的这个方法不是改写父类里的方法,而是在父类方法的基础上继续添加代码。这才是问题的关键,因为我觉得不是父类的方法不好,而是觉得不够完善,所以我想在父类方法的基础上继续添加代码进行完善!于是就用到了(self = [super 被改写的父类方法名称])了。表示在父类的方法里继续添加代码,起一个完善父类方法的作用,而不是全盘否定进而推倒重来!

init方法?

通常来说,init方法的作用不仅仅是分配内存空间的作用,还有一个更大的作用就是在实例化对象开辟内存空间的同时将初始化方法里的输入的参数赋值给实例化的对象的属性。这才是init的改写的第二个好处,直接在实例化对象的时候就已经将被实例化的对象的属性值生成!所以整理一下:重写init方法有两种情况,情况一:为父类里的init方法添加执行代码,这个的意义在于在实例化对象分配内存空间的同时就能够执行的一些代码,通常这些代码就是每实例化一个对象或开辟一次内存空间就会执行一次的代码。情况二:构造一个包含输入参数的init的方法,这种构造的init方法的意义在于直接为对象的属性赋值。这样就可以在直接实例化对象的时候就能够给对象的属性附上值,这样的意义我现在唯一能想到的也就时免去了属性逐个赋值的麻烦。

相关文章

  • 代码继承

    补写父类? 只要是子类改写父类里的方法。就必须首先判断(self = [super 被改写的父类方法名称])的方法...

  • 05-面向对象语法-继承

    1.继承的好处 2.继承的坏处 3.继承注意点 4.继承的使用场合 代码一: 代码二: 代码三: 原文:http:...

  • 多用组合少用继承

    不推荐使用继承 继承表示is-a的关系,用于代码复用。但是继承会增加代码的耦合,复杂的继承关系(层次过深,过于复杂...

  • 31-封装、继承、多态

    封装、继承、多态 面向对象编程有三大重要特征:封装、继承和多态。 继承 继承机制实现了代码的复用,多个类公用的代码...

  • 继承、分类(类别)和扩展

    继承 继承就是子类可以继承父类的属性与方法,使用继承可以实现代码的复用,减少代码冗余,子类可以直接拥有父类...

  • scss的继承和占位符

    继承:定义 .继承名(类名){ 公共代码; } 调用: ...

  • 【Python】python新手关于继承的练习代码

    [python新手关于继承的练习代码代码][Python]代码

  • 第二次作业

    继承与多态代码: 运行: 接口代码: 运行: trait代码: 运行:

  • day17-pygame

    1.复习(补充) 代码示例 补充1:抛出异常 代码示例 运行结果 补充2:多继承 代码示例 注意:多继承的时候,只...

  • 10.22 pygame

    1.复习(补充) 代码示例 补充1:抛出异常 代码示例 运行结果 补充2:多继承 代码示例 注意:多继承的时候,只...

网友评论

      本文标题:代码继承

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