阅读以下程序,写出该程序的输出结果。 class C1: def fun(self): print('aaa') class C2(C1): def fun(self): super____.fun____ print('bbb') obj1 = C2____ obj1.fun____
时间: 2024-02-28 09:53:45 浏览: 101
该程序输出结果为:
```
aaa
bbb
```
解释如下:
该程序定义了两个类 C1 和 C2,其中类 C2 继承自类 C1。类 C1 中定义了一个方法 fun,该方法打印出字符串 "aaa"。类 C2 中也定义了一个方法 fun,但它通过调用 super().fun() 的方式显式地调用了父类 C1 中同名方法 fun,因此在打印出字符串 "aaa" 后,又打印出字符串 "bbb"。
程序的最后一行创建了一个 C2 的实例 obj1,并调用了它的 fun 方法。由于 C2 中定义的方法 fun 调用了父类 C1 中的同名方法 fun,因此调用 obj1.fun() 时将执行 C2 中定义的方法 fun,输出结果为 "aaa" 和 "bbb"。
相关问题
阅读以下程序,写出该程序的输出结果。 class C1: def fun(self): print('aaa') class C2(C1): def fun(self): print('bbb') obj1 = C2() obj1.fun()
该程序的输出结果是:
```
bbb
```
在这个程序中,我们首先定义了一个名为 C1 的类,其中包含了一个名为 fun() 的方法,用于输出字符串 "aaa"。
接下来,我们定义了一个名为 C2 的类,它继承了 C1 类,并重写了 C1 类中的 fun() 方法。在 C2 类中,fun() 方法输出了字符串 "bbb"。
然后,我们创建了一个名为 obj1 的 C2 类的实例对象,并调用了它的 fun() 方法。由于 obj1 是 C2 类的实例对象,而 C2 类重写了 C1 类的 fun() 方法,因此调用 obj1.fun() 方法时,会输出字符串 "bbb"。
因此,该程序的输出结果是 "bbb"。
写出该程序的结果:class C1: def fun(self): print('aaa') class C2(C1): def fun(self): super( ).fun() print('bbb') obj1 = C2() obj1.fun()
该程序的输出结果为"aaa"和"bbb",因为该程序定义了两个类C1和C2,其中C2继承自C1。在C2的fun()方法中,通过super().fun()调用父类C1的fun()方法,输出"aaa"。接着输出"bbb"。在主程序中,创建了一个C2类的对象obj1,并调用了其fun()方法。由于C2类重写了父类C1的fun()方法,因此调用obj1.fun()时,会执行C2的fun()方法,输出"aaa"和"bbb"。
阅读全文