解释封装继承多态并用代码实现
时间: 2024-09-26 22:11:38 浏览: 36
封装、继承和多态是面向对象编程(OOP)的三大核心特性:
1. **封装** (Encapsulation): 将数据(属性)和操作数据的方法组合在一起形成一个独立的对象。通过访问修饰符(如public、private、protected),可以控制外部对内部信息的访问,保护数据安全。例如:
```java
class Student {
private String name; // 数据封装
public void setName(String name) { // 方法封装
this.name = name;
}
// 只提供公共方法获取姓名
public String getName() {
return name;
}
}
```
2. **继承** (Inheritance): 子类可以从父类继承属性和方法,使得子类能够复用和扩展父类的功能。比如:
```java
class Teacher extends Student {
private int subject; // 继承并添加新属性
@Override
public void setAddress(String address) { // 重写方法
super.setAddress(address); // 调用父类方法
}
public void teach() { // 新增方法
System.out.println("Teaching " + getName());
}
}
```
3. **多态** (Polymorphism): 同一操作作用于不同的对象,会产生不同的效果。这有两种形式:
- **方法重载**: 指在一个类中定义同名的不同方法,通过参数列表差异实现。如上例中的`setName`和`setAddress`。
- **方法覆盖/重写**: 子类可以重新定义父类的方法,调用时会执行子类版本。如`Teacher`重写了`setName`。
阅读全文