首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Python子类不继承父类的注释?

Python子类不继承父类的注释是因为注释在Python中被视为文档字符串(docstring)的一部分,而文档字符串是用于提供代码文档的工具。虽然注释可以提供有关父类的信息,但它们不属于类的属性或方法,因此不会被子类继承。

继承是一种机制,通过它子类可以继承父类的属性和方法。然而,注释不是类的属性或方法,而是对代码的解释和说明。注释通常用于提供函数、类或方法的用法、参数说明、返回值等信息,以便开发者能够更好地理解和使用代码。

由于注释不属于类的属性或方法,子类在继承父类时并不会继承注释。这是因为注释是与代码逻辑无关的文档内容,对于子类而言,它们可能需要自己的文档字符串来描述自己的属性和方法。

虽然子类不会继承父类的注释,但在实际开发中,为了保持代码的可读性和可维护性,建议在子类中保留父类的注释,并根据需要进行适当的修改和补充。这样可以帮助其他开发者更好地理解子类的功能和用法。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(Serverless):https://cloud.tencent.com/product/scf
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(Mobile):https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/mi
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

子类继承,初始化

从外部看,似乎新拥有与基础相同接口,而且可包含一些额外方法和字段。但继承并非仅仅简单地复制基础接口了事。创建衍生一个对象时,它在其中包含了基础一个“子对象”。...下面这个例子向大家展示了对这种三级继承应用 //: Cartoon.java // Constructor calls during inheritance class Art { Art()...); } } class Drawing extends Art { Drawing() { super();//这句代码Java编译器会自动为我们加上,可以省略写...个人总结: super关键字必须写在构造方法方法体内注释代码首行 子类进行初始化,必须调用构造方法,如果所有构造方法都用private修饰了的话,则无法继承,编译报错....衍生构造方法调用构造方法,如果是无参构造方法,那么编译器会为衍生构造方法首行加上super()。 编译器会强迫我们在衍生构建器主体中首先设置对基础构建器调用。

1.8K30

golang继承——接口子类

从面向对象角度上看,总会有一些使用子类不想做,希望去做事情,在java这样纯面向对象语言中,方法就是使用子类子类通过继承方法,实现子类自己属性,如果没有某个方法没有经过子类重写...,那么这个方法通过子类调用时,就会调用方法。...简单说就子类能够按照方法框架来设计,同时还把一些子类自身个性化方法进行了抽象,抽象成golang中接口,通过实现接口实现了在指定方法上调用子类或者(取决于子类是否重新实现了方法)...,同时也说明了在子类中自定义个性化方法同时,如何与进行关联。...总结说就是golang 面向对象是如何具体编码实现。 本文来源0day__,由javajgs_com转载发布,观点代表Java架构师必看立场,转载请标明来源出处

4.3K20

Python】面向对象 - 继承 ② ( 子类重写成员 | 子类调用重名成员 | 子类中使用 名 调用成员 | 子类中使用 super 调用成员 )

一、子类重写成员 1、子类重写成员语法 子类 继承 成员属性 与 成员方法 后 , 如果对 继承 成员 不满意 , 可以 重写 成员 ; 成员 属性 和 成员 方法 , 都可以进行重写...; 成员属性 重写 , 就是在 子类中 , 修改 成员属性值 ; 成员方法 重写 , 就是在 子类中 , 修改 成员方法方法体内容 ; 在子类中 , 如果需要重写成员 , 直接在子类中 ,...重新定义父成员即可 ; 在 Python 中 , 不像 Java / Kotlin / Groovy 一样 , 如果子类重写成员 , 需要使用 @Override 注解 修饰 ; 2、代码示例...1、子类调用重名成员语法 在 外部 是无法访问 成员 : 子类 重写 成员后 , 通过 子类 实例对象 调用 该 重写后 成员时 , 默认调用就是 重写后成员 ; 在 子类内部 可以...) 2、代码示例 - 子类中使用 名 调用成员 在 Dog 子类 make_sound 函数中 , 通过 Animal.name 和 Animal.age 可以调用成员变量 , 打印出来值为成员变量值

38830

Python 在子类中调用方法详解(单继承、多层继承、多重继承

测试环境: win7 64位 Python版本:Python 3.3.5 代码实践: 1、在子类中通过“名”调用方法 class FatherA: def __init__(self)...__init__(self) # 在子类中调用方法:名.方法名称(参数) if __name__ == '__main__': b = SubClassB() 运行结果: >>> ==...(如SubClassB由FatherA变为FatherD时),必须遍历整个定义,把子类中所有的名全部替换过来 2、在子类中通过“super”方法调用方法 场景1、单层继承 class...--type(如果有的话),即type决定了前往哪个调用指定方法 场景3、多重继承 实验1: class FatherA: def __init__(self): print('...,继承多个,以super().method(参数)方法调用方法,如果不同父中存在同名方法method(不管参数列表是否相同),则按继承顺序,选择第一个方法。

2.9K30

Java子类之间对象转换(说明继承

向上转换比较直观,总是能够将一个子类实例转换为一个对象,从继承角度,这个特性很容易理解:继承是一种“是一种”关系,从父派生出子类,我们都能理解为,子类总是一个实例。...这就要考虑到,在继承关系中,有一些方法是不适合由定义并由子类继承并重写,有些方法是子类特有的,不应该通过继承得到,且子类可能也会有自己特有的成员变量,那么在使用多态机制时候,若我们要通过类型变量使用到这些子类特有的方法和属性的话...首先,变量向子类转换必须通过显式强制类型转换,采取和向上转换相同直接赋值方式是不行,;并且,当把一个类型变量实例转换为子类型变量时,必须确保该变量是子类一个实例,从继承角度来理解这些原因...前面说到用instanceof判断是否是子类一个实例是一个好习惯,如果养成这个习惯的话很容易出问题,请看下面这段代码: Animal animal = new Tiger(); Lion lion...          b.f1();// 子类覆盖了该方法,所以引用调用新方法          b.f2();// 子类未覆盖该方法,所以引用调用旧方法          // b.f3();此行去掉注释会报错

3.6K20

Python_子类调用方法

1.方式一 子类调用方法,包含2中形式调用。一种形式是在内部通过继承方式调用方法,另外一种形式是子类实例化后之后通过继承方式来调用方法。如下图所示: ?...注意一点,在子类内部通过继承方式调用属性时,必须要带上self位置参数(self只在实例化过程中和在实例调用属性时才能省略(self本来含义就是指向实例自己));而实例在通过继承调用属性或方法时...该部分代码块如下:注意一点,在子类内部通过继承方式调用属性时,必须要带上self位置参数(self只在实例化过程中和在实例调用属性时才能省略(self本来含义就是指向实例自己));而实例在通过继承调用属性或方法时...3班") #调用子类本身方法 student.course() #通过子类调用方法--->实例化之后来调用方法 student.eat() #调用子类方法,在子类方法中调用了子类方法,...使用super好处,一是可以代替父名,这样后期名更改了,我们只需要更改子类名称后面的名即可,子类中其他名可以不用更改;二是使用了super后,调用方法时可以传参数self。

4.8K20

Python实现子类调用方法

getName return self.name AttributeError: Student instance has no attribute 'name' 这是因为尽管Student继承了...Person,但是并没有调用__init__()方法,那么怎样调用方法呢?...return self.age if __name__ == "__main__": stu = Student() print stu.getName() 这种方法叫做调用未绑定构造方法..._main__": stu = Student() print stu.getName() super函数会返回一个super对象,这个对象负责进行方法解析,解析过程其会自动查找所有的以及...方法一更直观,方法二可以一次初始化所有超. super函数比在超累中直接调用未绑定方法更直观,但是其最大有点是如果子类继承了多个,它只需要使用一次super函数就可以。

3.1K10

禁止 Python 子类覆盖方法

子类试图覆盖时候,可以通过类型标注来发出警告。今天,我们来讲讲如何直接禁止覆盖。 Python 原生是没有提供禁止子类覆盖方法功能,因此我们需要自己来实现。...先来看一下实现效果: 在这段代码里面,我们禁止子类覆盖dead()和eat()方法,但不禁止move方法。所以,当我们在子类Dog里面尝试覆盖dead()时,程序就报错了。...如果大家对元有兴趣,可以看9.13 使用元控制实例创建 — python3-cookbook 3.0.0 文档[1]。简单来说,元用来定义创建行为。...它一般格式为: class 名(metaclass=另一个): ... 而大家看我们用来禁止重试这个函数protect,它返回就是一个Protect。这个继承于type对象。...Protect有一个__new__方法,这个方法会在使用了元所有子类__init__之前被调用。

1.7K20

【JAVA面向对象编程】--- 探索子类如何继承

【不带参数默认叫咪咪,带参数需要自己传】 初始化虽然执行了构造方法,但没有生成对象,这里只是帮助子类初始化从父继承过来属性。...总结: 在子类构造方法中,并没有写任何关于基构造代码,但是在构造子类对象(穿件对象)时,先执行基构造方法,然后执行子类构造方法, 因为: **子类对象中成员是有两部分组成...,基继承下来以及子类新增加部分。...父子父子肯定是先有再有子,所以在构造子类对象时候 ,先要调用基构造方法,将从基继承下来成员构造完整,然后再调用子类自己构造方法,将子类自己新增加成员初始化完整**。...注意: 1,若显式定义无参或者默认构造方法,在子类构造方法第一行默认有隐含super(调用,即调用基构造方法 2.如果构造方法是带有参数,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适构造方法调用

7510

学习记录——C#中子类继承那些事

protected:子类可以访问到,但是其他访问不到,可以访问到,但是不能实例化,换言之(可以访问成员,但是不能访问对象成员) public:都可以访问到 ②浅谈base和this 假如子类中有和重名成员..., base.成员 访问成员 而 this.成员 访问是当前成员。...③重写方法两种形式(虚方法和隐藏方法) 当子类中与方法重名但子类方法要执行其他功能时候,需要执行重写方法。...需要注意二点:虚方法和隐藏方法区别 以上方代码为例,在主函数中实例化MyBaseClass() mb = new MyDrivedClass();(子) 如果为虚方法,则在调用同名方法时将会调用子类方法...; 如果为隐藏方法,则在调用同名方法时将会调用方法。

88731

子类A继承B, A a = new A(); 则B构造函数、B静态代码块、B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行先后顺序是?

(1)子类A继承B, A a = new A(); 则: B静态代码块->子类A静态代码块->B非静态代码块->B构造函数->子类A非静态代码块->子类A构造函数 (2)若子类构造函数中显式调用了某构造函数...,那么就要调用构造方法来初始化该子类对象,但是该类继承自A,所以要先调用构造方法,这里通过super(“B”)显示调用了带参构造。...执行带参构造前要先对对象进行初始化,对c成员进行初始化,调用了C无参构造,所以调用顺序为: 先调用C无参构造 再调用A带参构造 最后调用调用子类构造 (3...)在JVM调用mian方法之前先用进行静态内容初始化。...顺序为:静态变量, 静态代码块 ,子类静态变量,子类静态代码块。

2.1K30

子类继承,重写synchronized方法,两个synchronized方法锁对象问题

参考链接: 用子类引用子类对象 vs 引用 这是java并发编程实践中有关重入概念介绍时产生问题  public class Widget {       public synchronized...System.out.println(toString() + ": calling doSomething");           super.doSomething();       }   }  子类继承...,重写synchronized方法,两个synchronized方法锁对象问题  是同一个锁还是不同锁呢,是同一个锁的话是  对象作为锁还是子类对象作为锁呢? ...,那么另一个线程仍然可以获得子类对象锁。...,至于理解么:  可以认为即便是继承创建了对象,并把对象引用交给了子类,但是在super.去调用方法时候JVM认为调用者依然是子类

1.7K20

子类可以继承注解吗--有结论了

子类可以继承注解吗?...子类继承了这个,分别: 子类方法,实现了抽象方法 子类方法,继承方法 子类方法,覆盖了方法 MyAnnotation自定义注解 ---------------------...抽象方法,没有继承抽象方法中Annotation 子类继承doExtends方法,继承doExtends方法中Annotation,其信息如下:doExtends方法 子类覆盖...Annotation 子类继承doExtends方法,继承doExtends方法中Annotation,其信息如下:doExtends方法 子类覆盖doHandle方法,没有继承...否 能 子类方法,实现了抽象方法,这个方法能否继承到注解? 否 否 子类方法,继承方法,这个方法能否继承到注解? 能 能 子类方法,覆盖了方法,这个方法能否继承到注解?

2.8K30

【C++】继承 ② ( 继承语法 | 三种继承 - 共有继承 保护继承 私有继承 | 继承私有成员 | 子类访问私有成员 | 代码示例 )

一、继承语法 1、语法说明 继承语法 : 使用 class 关键字 定义 子类 , 在 子类后面 使用 冒号 : 与 若干隔开 ; class 子类名称 : 列表 { // 子类成员 }; 列表格式...保护成员 , 只能在内部 或 子类中 访问它们 ; Child 不能继承 Parent 私有成员 ; private : 私有继承 Child 继承了 Parent 所有公有和保护成员...私有继承 private 只针对 " 公有成员 " 和 " 保护成员 " , 这两种成员是可以被继承 ; " 私有成员 " 是无法被子类 继承 和 访问 ; 私有成员...只能在 中 , 由自己成员访问 ; 除 之外任何 , 包括子类 , 都不能访问 私有成员 , 这是为了保护 封装性 和 安全性 而制定规则 ; 4、子类访问私有成员...子类 不能直接访问 私有成员 , 但是可以通过在 中提供 公有 或 保护 成员函数 来访问这些私有成员 ; 这些成员函数可以在子类中重写或复用 , 以便让子类能够访问和操作基私有成员

26210

子类赋值赋值兼容

C++ 中,类型匹配检测是非常严格,但是你会发现一个现象,如果一个继承了另外一个,把子类对象赋值给时候,系统不但不提示错误,而且程序还能顺利编译通过并运行。...这其实就是 C++ 内部提供赋值兼容过程,但是要注意,如果子类数据成员比多,则会出现数据截断。...draw Shap “; cout << “start (“ << _x << “,” << _y << “)” << endl; } protected: int _x; int _y; }; // 继承...cout << “radio r = “ << _r << endl; } private: int _r; }; int main(int argc, char* argv[]) { // 实例化一个对象...Shape s(3, 5); s.draw(); // 实例化一个子类对象 Circle c(1, 2, 4); c.draw(); cout << “————————“ << endl; // 子类对象给变量赋值

14630

【C++】继承 ③ ( 继承一些重要特性 | 子类拥有所有成员 | 多态性 | 子类可以拥有没有的成员 | 代码示例 )

一、继承一些重要特性 1、子类拥有所有成员 子类 继承 , 则 子类 拥有 所有 成员变量 和 成员函数 ; 这里要注意 : 子类 拥有 私有成员 , 但是 子类不能 直接访问... 私有成员 , 必须通过 公有或受保护 成员函数 访问 私有成员 ; 子类 不能访问 私有成员 , 并不代表 子类 中没有 私有成员 ; 下面的 Parent...子类 可以 在 继承 成员变量 和 成员函数 基础上 , 定义 其它 成员变量 和 成员函数 ; 因此 , 子类 可以 拥有 所没有的 成员变量 和 成员函数 ; 在下面的代码中...(); // 任何类型继承 都不能访问 私有成员 //privateFun(); } }; 3、多态性 子类 可以 当做 使用 , 子类 是 特殊...// 子类 可以访问 保护成员 protectedFun(); // 任何类型继承 都不能访问 私有成员 //privateFun()

43230

python子类继承时进行初始化一些问题

这是为什么呢? __init__相当于是python构造方法,在进行实例化时被调用,当子类中都存在构造方法时,子类中需要显示调用构造方法 。...加上了私有的属性和方法不能在外进行访问,同时,子类继承属性和方法时,在子类中也不能够访问私有属性和方法。...__init__() self.school = "一中" def printStudent(self): #子类自己继承公有属性,直接访问即可...print("在子类中使用共有属性:",self.age) #super()代表,可以访问公有方法 #当然如若子类没有重写方法,也可以使用self.test...补充: 假设中没有显示定义构造函数,那么在子类中就不用显示定义父构造函数。

59050

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券