请用代码解释一下类的封装,继承和多态
时间: 2023-03-28 12:02:52 浏览: 67
类的封装、继承和多态是面向对象编程的三个基本特性。
封装是指将数据和方法封装在一个类中,对外部隐藏实现细节,只暴露必要的接口,保证数据的安全性和一致性。
继承是指一个类可以继承另一个类的属性和方法,从而减少代码的重复性,提高代码的复用性和可维护性。
多态是指同一种类型的对象,在不同的情况下表现出不同的行为,即同一种方法可以有不同的实现方式,提高了代码的灵活性和可扩展性。
以下是示例代码:
//类的封装
class Person {
private:
string name;
int age;
public:
void setName(string n) {
name = n;
}
string getName() {
return name;
}
void setAge(int a) {
age = a;
}
int getAge() {
return age;
}
};
//类的继承
class Student : public Person {
private:
string school;
public:
void setSchool(string s) {
school = s;
}
string getSchool() {
return school;
}
};
//类的多态
class Shape {
public:
virtual double getArea() = ;
};
class Rectangle : public Shape {
private:
double width;
double height;
public:
Rectangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height;
}
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) {
radius = r;
}
double getArea() {
return 3.14 * radius * radius;
}
};