在面向对象编程(如 Java、C++、Python 等)中,**抽象类(Abstract Class)和普通类(Concrete Class)**主要有以下区别:
new 创建对象。// 普通类
class Animal {
}
Animal a = new Animal(); // ✅ 可以
// 抽象类
abstract class Shape {
}
// Shape s = new Shape(); // ❌ 编译错误
abstract class Animal {
abstract void sound(); // 抽象方法
}
普通类不能包含抽象方法。
例如:
Dog、Cat 是普通类Animal 是抽象类,定义“动物都会叫”,但不关心怎么叫class Dog extends Animal {
void sound() {
System.out.println("汪汪");
}
}
| 对比项 | 普通类 | 抽象类 |
|---|---|---|
| 能否实例化 | ✅ 能 | ❌ 不能 |
| 是否有抽象方法 | ❌ 不能有 | ✅ 可以有 |
| 是否可直接使用 | ✅ 可以 | ❌ 一般用于继承 |
| 设计目的 | 具体实现 | 规范 + 复用 |
普通类是“能直接用的完整类”,抽象类是“不能直接用、用来被继承的半成品类”。
如果你用的是某一种语言(Java / C++ / Python),我也可以结合具体语法讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。