.解释封装、继承、多态,并用代码实现
时间: 2024-09-26 18:11:36 浏览: 30
cpp代码-数据结构4
封装、继承和多态是面向对象编程(Object-Oriented Programming, OOP)三大核心特性:
1. **封装**(Encapsulation):它是将数据和操作数据的方法捆绑在一起的过程。通过将数据隐藏在私有访问修饰符(如`private`)声明的数据成员中,外部只能通过公共的getters和setters来访问,实现了数据的安全性和一致性。例如,在Java中:
```java
public class BankAccount {
private double balance;
public void setBalance(double amount) {
if (amount >= 0) {
this.balance = amount;
}
}
// Getter方法
public double getBalance() {
return balance;
}
}
```
2. **继承**(Inheritance):允许创建一个新类(子类),它从已存在的类(父类)继承属性和方法。子类可以添加新的特性和覆盖或扩展父类的行为。比如:
```java
public class SavingsAccount extends BankAccount {
// 子类特有的属性和方法
public void depositInterest() {
balance += calculateInterest();
}
protected double calculateInterest() {
// 实现计算利息的逻辑
}
}
```
3. **多态**(Polymorphism):让同一种类型的对象能够在不同上下文中表现出多种形态。这体现在方法调用上,即子类对象可以被当作其父类的对象来引用,调用它们共同的方法,每个子类有自己的实现。例如:
```java
List<Account> accounts = new ArrayList<>();
accounts.add(new SavingsAccount());
// 虽然add的是SavingsAccount对象,但是由于多态,这里可以接受BankAccount的引用
accounts.get(0).deposit(); // 会调用SavingsAccount版本的deposit方法
```
阅读全文