目录

普通方法

方法重写super().xxx()


我们在python之继承及其实现方法中已经学会了打印子类在父类继承的属性

那么我们怎么打印出子类中特有的属性呢

普通方法

我们当然可以在子类中添加新的方法来打印,比如

class Farther(object):  # 这里的object可写可不写,不写就默认为object
def __init__(self, name, age):
self.name = name
self.age = age def put_1(self):
print(self.name, self.age) class Me(Farther):
def __init__(self, name, age, university):
super().__init__(name, age)
self.university = university def put_2(self):
print(self.university) class Brother(Farther):
def __init__(self, name, age, grad):
super().__init__(name, age)
self.grad = grad sws_1 = Me('慢蜗牛', 20, '大二') sws_1.put_1()
sws_1.put_2() #结果如下图
慢蜗牛 20
大二

但是这样会使得代码变得复杂,我们需要调用两个方法才可以打印出子类的所有信息,那么有没有简单一点的方法呢

方法重写super().xxx()

class Farther(object):  # 这里的object可写可不写,不写就默认为object
def __init__(self, name, age):
self.name = name
self.age = age def put_1(self):
print(self.name, self.age) class Me(Farther):
def __init__(self, name, age, university):
super().__init__(name, age) #不同之处
self.university = university def put_1(self):
super().put_1()
print(self.university) class Brother(Farther):
def __init__(self, name, age, grad):
super().__init__(name, age)
self.grad = grad sws_1 = Me('慢蜗牛', 20, '大二') sws_1.put_1() #结果如下
慢蜗牛 20
大二

我们在编译器中可以看到

下面子类中对put_1方法进行了重写,如果我们不加上'super().put_1()',那么就只会打印大学

'super().put_1()'的作用就是调用父类中的put_1()并且执行

python之继承的方法重写的更多相关文章

  1. 04 Python的继承、方法重写、super()类、父类私密属性的调用

    继承 A类继承B类,A即可获得B类的全部公共属性和方法(包括内置属性和方法).格式如:class A(B): class Animal: def sleep(self): print("zZ ...

  2. Python类继承,方法重写及私有方法

    # -*- coding: utf-8 -*- """ Created on Mon Nov 12 15:05:20 2018 @author: zhen "& ...

  3. Java继承之方法重写

    目录 Java继承之方法重写 代码体现 概念 注意事项 "两同两小一大" 其他注意点 重写与重载 @Override注解 Java继承之方法重写 在Java继承中,子类可以获得父类 ...

  4. PHP中类的继承与方法重写

    php中类的继承与方法重写,欢迎大神补充指点! <?php namespace _1009; class Demo5 { //实例属性 public $product; public $pric ...

  5. Python继承、方法重写

    继承 在编写类时,并不是每次都要从空白开始.当要编写的类和另一个已经存在的类之间存在一定的继承关系时,就可以通过继承来达到代码重用的目的,提高开发效率. class one(): "&quo ...

  6. day 24 二十四、组合、继承、方法重写和重用、super()

    一.组合 1.定义:自定义类的对象作为类的属性 A类的对象具备某一个属性,该属性的值是B类的对象 基于这种方式就把A类与B类组合到一起 对象既能使用A类中的数据与功能,也能使用B类中的数据与功能 2. ...

  7. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  8. Python_类的继承与方法重写

    1.新建子类时,括号内要传入继承的父类名 2.super()方法:自动寻找当前类的父类,并调用父类的构造函数,初始化属性值 class Cup: #构造函数,初始化属性值 def __init__(s ...

  9. 22.1 Extends 继承的 方法重写、@Override的使用、

    /* * 继承中成员方法的特点 * 子类中没有这个方法,调用父类的 * 子类中重写了这个方法,调用子类的 * 方法的重写:在子父类当中,子类的方法和父类的完全一样,子类重写了父类的方法(覆盖),当子类 ...

  10. java继承 、方法重写、重写toString方法

    1.Java的继承,关键词Extends package cn.mwf.oo; public class TextExtends { public static void main(String[] ...

随机推荐

  1. Builder 生成器模式简介与 C# 示例【创建型2】【设计模式来了_2】

    〇.简介 1.什么是生成器模式? 一句话解释:   在构造一个复杂的对象(参数多且有可空类型)时,通过一个统一的构造链路,可选择的配置所需属性值,灵活实现可复用的构造过程. 生成器模式的重心,在于分离 ...

  2. 记一次MySql灾难性事件

    2023年8月8日,本来系一个风和日丽的夏天中的平凡一天,但这种平凡,注定住佢一定唔平凡,唉...现在回忆起都阵阵咁痛!!! 重要嘅事情讲三次,唔好手贱,唔好手贱,唔好手贱 事日,如常上班,本人系一名 ...

  3. Kioptrix: Level 1 (#1) 古老的Apache Samba VULN

    0×01 Vulnhub靶机渗透总结之 Kioptrix: Level 1 (#1) 系列专栏:Vulnhub靶机渗透系列 欢迎大佬:点赞️收藏关注 首发时间: 2023年8月20日 如有错误 还望告 ...

  4. 《SQL与数据库基础》09. 事务

    @ 目录 事务 简介 操作 方式一 方式二 四大特性(ACID) 并发事务问题 事务隔离级别 本文以 MySQL 为例 事务 简介 事务是一组操作的集合,它是一个不可分割的工作单位.事务会把所有的操作 ...

  5. java类序列化和反序列化

    参考:https://zhuanlan.zhihu.com/p/144535172?utm_id=0 https://blog.csdn.net/qq_42617455/article/details ...

  6. Visual Studio 2022 设置代码补全

    Visual Studio 2022 设置代码补全 VS默认使用 Tab 键进行代码补全. 若要使用回车补全需要重新设置,具体路径如下: ​ 工具----选项----文本编辑器----C/C++--- ...

  7. 在 Net7.0环境下通过反射创建泛型实例和调用泛型方法

    一.介绍 最近没事干,就用闲暇时间写点东西,也记录一下温习历程.老人说的好,好记性,不如烂笔头.时间一长,当时记忆的再清楚,都会变得模糊,索性就写博客记录下来,如果下次需要,直接打开博客就找到了,不用 ...

  8. 2023 ICPC 网络赛 II

    开场顺着读了 AC 不会,B 是 KDT 优化建图板子,让 zsy 确认了一下并制止他现在做.把 D 转化转化成了经典问题·,当时以为是网络流,所以 zsy 签完 M 就上去写了,写一半发现假了,问了 ...

  9. Jupyter_Notebook_添加代码自动补全功能

    Jupyter Notebook 添加代码自动补全功能 安装 如果之前安装过显示目录功能的话,这一步骤可以跳过. pip install jupyter_contrib_nbextensions 配置 ...

  10. PostgreSQL学习笔记-5.基础知识:触发器、索引

    PostgreSQL 触发器是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用. 下面是关于 PostgreSQL 触发器几个比较重要的点: PostgreSQL 触发器可以在BEFORE ...