在大部分面向对象开发的编程语言中都有封装,继承,多态的三个特性。不管是java,python,还是C++。
一、什么是封装
官方解释:封装的意义在于将属性和行为(数据和操作数据的函数)作为一个整体,表现生活中的事物,同时保护数据成员不被类以外的程序直接访问或修改,只能通过提供的公共接口访问。
结合生活例子:想象一个闹钟。闹钟的内部有电路、电池、发声装置等。我们不关心闹钟是如何工作的,我们只关心它的功能:设置时间、响铃等。这就是封装。我们只看到闹钟给我们提供的接口(设置时间、响铃等),而其内部的具体实现细节被隐藏了。
class AlarmClock
{
private:
int hour;
int minute;
public:
void setTime(int h, int m) { hour = h; minute = m; }
void ring() { std::cout << "闹钟响了!" << std::endl; }
};
二、什么是继承
官方解释:C++继承是面向对象编程中的一个重要概念,它使得一个类可以从另一个类派生出来,从而继承了父类的属性和方法。继承提供了代码重用和多态性支持,使得程序更加灵活和可维护。
结合生活例子:想象一个家庭,家庭成员之间存在着某种关系,这种关系可以被视为一种继承。在这个家庭中,父亲是基类,而儿子和女儿是派生类,分别从父亲继承了一些样貌和行为。
class Father {
public:
string name;
int age;
string occupation;
void work()
{
cout << "Person is working." << endl;
}
void earnMoney()
{
cout << "Person is earning money." << endl;
}
void takeCareOfFamily()
{
cout << "Person is taking care of family." << endl;
}
};
class Son : public Person {
public:
void playGuitar()
{
cout << "Son is playing guitar." << endl;
}
};
class Daughter :

最低0.47元/天 解锁文章
784

被折叠的 条评论
为什么被折叠?



