小甲鱼 发表于 2022-5-12 01:56:48

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

fishcyou 发表于 2022-5-27 20:51:00

代码分享:

class A:
    x = 520
    def hello(self):
      print('你好,我是A~')
      
class B:
    x = 888
    y = 100
    def hello(self):
      print("您好,我是B~")
      
class C(A, B):
    pass

c = C()
c.x
>>>
520

c.hello()
>>>
你好,我是A~

c.y
>>>
100

组合

class Turtle:
    def say(self):
      print('我是一只小乌龟,我不会说话')
      
class Cat:
    def say(self):
      print('我是一只小猫,我会喵喵喵~')
      
class Dog:
    def say(self):
      print('我是一只小狗,我会汪汪汪~')

class Garden():
    t = Turtle()
    c = Cat()
    d = Dog()
    def say(self):
      self.t.say()
      self.c.say()
      self.d.say()
      
g = Garden()
g.say()
>>>
我是一只小乌龟,我不会说话
我是一只小猫,我会喵喵喵~
我是一只小狗,我会汪汪汪~

小古比鱼 发表于 2022-9-26 10:31:31

本节讲了OOP的第二个基本特征——继承,即使用现有类的所有功能,并在无需重新编写代码的情况下对功能进行扩展。通过继承创建的新类称为子类,被继承的类称为父类(或基类、超类)。子类的实例化对象可以访问父类定义的属性和方法,子类定义的同名属性和方法会覆盖父类。可使用isinstance()函数来判断一个对象是否属于某个类,还可使用issubclass()函数来判断一个类是否属于另一个类的子类。一个子类可以同时继承多个父类,此即“多重继承”。多重继承时访问顺序为从左向右,即优先访问左边的父类;只有在当前类及左边的父类中均找不到需要访问的属性或方法时,才会访问右边的(下一个)父类。
本节最后还讲解了组合,即在新类中实例化其他类的对象,定义新方法,分别调用实例化对象各自的方法。需要注意的是,调用实例化对象方法前的“self.”不能省略,否则便会报错,称对象未定义。至于其中的奥秘,将在下一节揭晓!

飞不起来 发表于 2023-1-25 19:49:43

为啥组合的这个里面写成self.t.say()

siazb8590 发表于 2023-1-28 14:02:37

课后作业的第6题,运行不出来。

小甲鱼 发表于 2023-2-2 17:46:14

siazb8590 发表于 2023-1-28 14:02
课后作业的第6题,运行不出来。

题目是没有问题的,具体是提示什么错误信息呢?

将军gay 发表于 2023-3-13 20:18:22

继承父类的其他写法有什么

cmu052115 发表于 2023-3-29 21:26:14

{:10_245:}{:10_245:}{:10_245:}

Angelmy 发表于 2023-11-9 10:39:19

打卡学习,比较艰难,但我会坚持!{:10_257:}

sluttypumkin 发表于 2024-12-6 14:47:48

重拾Python,每天上班都有时间摸鱼学习

jinshui-ou 发表于 2025-2-11 22:12:33

为什么都要鱼币
页: [1]
查看完整版本: 第059讲:类和对象(II)