鱼C论坛

 找回密码
 立即注册
查看: 1294|回复: 0

[技术交流] 零基础入门学习Python 第 38 讲 类和对象 继承

[复制链接]
发表于 2018-4-4 12:03:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. 测试题:
  2. 0.
  3. 类似的对象可以继承相同类来实现,大大降低了代码量.
  4. 1.
  5. 给类声明的时候报错,只能返回None
  6. __init__方法不返回除None以外的任何对象.
  7. 2.
  8. 不会,子类定义和父类同名的方法,会覆盖掉父类的方法,但是父类的方法依然在父类中保持不变.
  9. 3.
  10. 在企鹅类重新定义父类的飞方法.
  11. 4.
  12. super()写上后,不用考虑是第几重继承,反正是继承上面的类就是了.super()不会出现菱形继承的问题.
  13. 5.
  14. 因为是菱形继承,在A中可能一个计数器会多次使用到,这是不符合设计程序的初衷的.
  15. 6.
  16. 类名.__init__(self)换为super().__init__()

  17. 动动手:
  18. 0.
  19. import math as m
  20. class Point:
  21.     def __init__(self,x,y):
  22.         self.x = x
  23.         self.y = y
  24.         
  25. class Line:
  26.     def __init__(self,p1,p2):
  27.         self.p1 = p1
  28.         self.p2 = p2
  29.     def getLen(self):
  30.         return (m.sqrt((p1.x-p2.x) ** 2 + (p1.y-p2.y) ** 2))

  31. 课堂笔记:
  32.   1. 类中的元素是不用self方法的,类中的方法第一个参数必须是self,类中的魔方方法init,里面的参数用魔方方法.
  33.   2. 何时用self何时不用:
  34.       a. self指的是实例化后的对象名,如果需要不同对象名的参数不同,此参数需要用self并用init初始化,如果此参数是大家用的都一样的,就可以写到公用参数里.
  35.       b. 例子:class FIsh里,need = water是大家的共有特征,可写在前面,而name是大家都有的,但是每个对象又不一样,所以用self.name.
  36.   3. 子类初始化时如果和父类有继承,也有独创,用super().__init__()即可.
  37.   4. 子类的函数和父类相同,会覆盖掉父类方法,父类里的函数不受影响.
复制代码

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 14:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表