“超类如何传递参数”通常指的是在继承关系中,子类如何把参数传递给父类(超类)的构造函数/初始化方法。不同语言写法不一样,下面用常见语言举例说明。
Java 中子类构造函数必须显式或隐式调用父类构造函数,用 super(...)。
class Animal {
public Animal() {
System.out.println("Animal created");
}
}
class Dog extends Animal {
public Dog() {
// 默认调用 super()
}
}
class Animal {
String name;
public Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
public Dog(String name) {
super(name); // 把参数传给超类
}
}
✅ 规则:
super(...) 必须是子类构造函数的第一条语句super()(要求父类有无参构造)Python 用 super() 传递参数。
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name) # 传参给超类
self.age = age
super().__init__(name)
会自动按 MRO(方法解析顺序) 找下一个类。
class Animal {
public:
Animal(string name) {}
};
class Dog : public Animal {
public:
Dog(string name) : Animal(name) {} // 初始化列表
};
class Dog extends Animal {
public Dog(String name) {
// 忘记 super(name)
}
}
如果 Animal 没有无参构造 → 编译错误
子类通过构造函数,在创建对象时调用超类构造函数,并把参数显式传递过去。
如果你指的是某个具体语言(如 Java / Python / C++ / Kotlin / TypeScript),或者运行期参数传递(不是构造),可以告诉我,我可以更针对性讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。