如果父类中有构造函数,并且构造函数有参数,而子类没有,因为子类继承了这个构造函数,那么创建子类对象的时候,要传参

1 class a():
2     def __init__(self,aa):
3         self.aa = aa
4 class b(a):
5     def do(self):
6         print (self.aa)
7 #bb = b()#报错
8 bb =b(2)
9 bb.do()
时间: 2024-08-08 15:57:41

如果父类中有构造函数,并且构造函数有参数,而子类没有,因为子类继承了这个构造函数,那么创建子类对象的时候,要传参的相关文章

Vue路由传参及传参后刷新导致参数消失处理

参考:https://blog.csdn.net/qq_43103581/article/details/82260073(vue 路由传递参数,刷新页面后参数丢失) 项目功能需要,要从列表页跳转到第三方提供的URL上(这里第三方页面我是通过iframe引入在详情页,目的是点击返回时可以通过keepAlive让列表页不刷新,如果不通过iframe直接跳第三方链接,那么返回必然会重新拉取数据),一路百度,刚开始使用 this.$router.push({name:'list', params:{i

java 子类、父类中静态代码块、字段,非静态代码块、字段以及构造函数的初始化顺序和次数

一个类中的数据初始化顺序是面试官非常喜欢出的面试题之一,本文用一个实例来介绍java中子类.父类中静态代码块.字段,非静态代码块.字段以及构造函数的执行顺序和次数. 一.包结构 Cat继承Animal Runner里包含main函数,程序入口 Sing类主要用来打印执行顺序的序列号 二.代码 public class Animal { Sing s1=new Sing(1,"animal\tnot static field"); static Sing s2=new Sing(2,&q

python学习笔记——旧类与新类继承中的构造函数

旧类以调用未绑定的超类构造方法 class OldDog: def __init__(self): print 'I am a old dog !' self.__hungry = True def eat(self): if self.__hungry: print 'I eat it !' self.__hungry = False else: print 'No thanks!' class OldWolf(OldDog): def __init__(self): OldDog.__ini

JS继承之借用构造函数继承和组合继承

根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术(有时候也叫做伪造对象或经典继承).这种技术的基本思想相当简单,即在子类型构造函数的内部调用超类型构造函数. 基本模式 function SuperType(){ this.colors = ["red", "blue", "green"]; } fu

C++ 继承时的构造函数

子类继承了哪些东西? 子类在继承父类的时候,父类的public成员变量和成员方法被子类所继承.但是父类的构造函数并没有被继承,其实想想也就知道因为本来子类和父类就是不同名字的,而构造函数和类同名,所以构造函数是没有办法继承的. 子类构造原则 因为父类构造函数并没有被继承,因此在创建子类对象时,需要初始化父类的成员,也就是说需要调用父类的构造函数. 另外我们知道C++编译器会自动做很多事情,比如说如果你没有定义构造函数,编译器会生成默认构造函数.如果在子类构造函数中没有显示调用父类构造函数,那么系

js构造函数传参

1.直接传参并用this关键字初始化属性 function Person(name,age,learn){ this.name = name; this.age = age; this.learn = learn || false; } Person.prototype.isWork=false; Person.prototype.work=function(){ this.isWork=true; }; Person.prototype.unwork = function(){ this.is

JavaScript进阶系列03,通过硬编码、工厂模式、构造函数创建JavaScript对象

本篇体验通过硬编码.工厂模式.构造函数来创建JavaScript对象. □ 通过硬编码创建JavaScript对象 当需要创建一个JavaScript对象时,我们可能这样写: var person = { firstName: "Darren", lastName: "Ji", getFullName: function() { return this.firstName + " " + this.lastName; } }; 如果需要创建2个结

用反射通过构造函数给窗体传参

最近在项目上用到反射来调用方法用的比较多,传参包含两种方式,一种是通过变量传参,第二种是通过构造函数传参,下面分别介绍下两种方式: 先介绍几种获取实例的方法,下面描述中提到的三种方法其实都是大同小异的,核心就是通过System.Reflection.Assembly 类型的CreateInstance方法创建实例. //反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间,假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly ass

C++继承中析构函数 构造函数的调用顺序以及虚析构函数

首先说说构造函数.大家都知道构造函数里就能够调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就能够调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数,仅仅有这样子类才干在构造函数里使用基类的成员,所以是创建子类时先调用基类的构造函数然后再调用自己的构造函数.通俗点说,你要用某些物品.但这些物品你没办法自己生产,自然就要等别人生产出来,你才干拿来用. 接着就是析构函数了,上面说到子类是将基类的成员变成自己的成员,那么基类就会仅仅存在子类中直到子类调

JavaScript中的继承之借用构造函数

借用构造函数是为了解决引用值类型被所有实例共享的问题. 基本思想是:在子类型构造函数内部通过apply()或call()方法调用超类型的构造函数,也可以在将来新创建的对象上执行构造函数. 先看一个例子: function superType(){ this.colors = ['red','blue','green']; } function subType(){ //继承了superType superType.call(this); } var instance1 = new subType