C++入门篇----封装,继承,多态

在大部分面向对象开发的编程语言中都有封装,继承,多态的三个特性。不管是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 : 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值