1.解释封装、继承、多态,并用代码实现
时间: 2024-09-26 12:11:26 浏览: 21
封装、继承和多态是面向对象编程的三大核心特性:
1. **封装**:这是一种将数据(变量)和操作数据的方法(函数)捆绑在一起的机制,通过访问控制符(如public、private、protected)限制对内部信息的直接访问,提高了数据的安全性和代码的复用性。例如,在Java中,可以这样定义一个简单的类封装属性和方法:
```java
class Person {
private String name; // 封装的数据
// 访问器方法
public String getName() {
return name;
}
// 设置器方法
public void setName(String name) {
this.name = name;
}
}
```
2. **继承**:子类继承父类的属性和方法,子类可以看作是父类的一种特化。这样可以避免重复代码并实现代码的层次结构。比如,创建一个Employee类继承自Person:
```java
class Employee extends Person {
private int id;
// 继承了Person的setName和getName方法
}
```
3. **多态**:允许子类覆盖或实现父类的方法,使得相同的操作作用于不同的对象会产生不同的结果。在Java中,你可以通过方法重写(override)来实现多态,如:
```java
class Animal { // 父类
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal { // 子类
@Override // 方法重写
public void makeSound() {
System.out.println("Dog barks");
}
}
// 使用多态
Animal myAnimal = new Animal(); // 可能是Dog或别的动物
myAnimal.makeSound(); // 输出 "Animal makes a sound"
Dog dog = new Dog();
dog.makeSound(); // 输出 "Dog barks"