“Super(超类/父类)”在面向对象编程(OOP)中是一个核心概念。使用“超类(Superclass)”以及对应的 super 关键字,主要出于代码复用、结构清晰、多态和可维护性等目的。
下面从几个角度解释“为什么要用 Super / 超类”:
超类可以把多个子类共有的属性和方法抽取出来。
class Animal {
void eat() {
System.out.println("Eating...");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Barking...");
}
}
Dog 不需要再写 eat(),直接继承 Animal(超类)。
✅ 好处:减少重复代码,修改只改一处。
super 调用父类功能在子类中,常用 super:
class Animal {
Animal(String name) {
System.out.println(name);
}
}
class Dog extends Animal {
Dog() {
super("Dog");
}
}
✅ 好处:保证父类逻辑先正确执行。
超类可以作为统一类型使用不同子类:
Animal a = new Dog();
a.eat();
✅ 好处:
超类定义“是什么(is-a)”关系:
✅ 好处:
子类重写父类方法后,仍可用 super 保留原功能:
class Animal {
void sound() {
System.out.println("Animal sound");
}
}
class Dog extends Animal {
void sound() {
super.sound();
System.out.println("Dog bark");
}
}
用超类(Superclass)是为了“抽共性、少写码、好扩展”;用 super 是为了“不丢父类能力、结构更稳”。
如果你说的是某个具体语言(Java / Python / C++)或框架里的 super(),我也可以针对讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。