【嵌入式八股1】C++:面向对象基础

1. 概述

面向对象编程(OOP)是一种编程范式,区别于传统的面向过程编程。它通过抽象出类来封装数据和方法,从而提高代码的复用性、可维护性和可扩展性。面向对象编程的三大核心特性是封装、继承和多态。

2. 封装

封装是面向对象编程的基础,它将对象的属性(成员变量)和方法(成员函数)封装到一个类中。封装的好处包括:

  • 数据隐藏:通过访问控制(publicprotectedprivate)来限制对类成员的访问,保护数据不被外部直接修改。
  • 代码复用:封装后的类可以在不同的程序中重复使用。
  • 易于维护:修改类的内部实现不会影响外部代码。
class Box {
private:
    double width;  // 私有成员变量
public:
    void setWidth(double wid) {  // 公有成员函数
        width = wid;
    }
    double getWidth() const {
        return width;
    }
};

3. 继承

继承是面向对象编程的重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。继承的主要目的是提高代码的复用性,并保留类与类之间的关系。

3.1 访问控制
  • public继承:父类的publicprotected成员在子类中保持原有的访问权限。
  • protected继承:父类的publicprotected成员在子类中变为protected
  • private继承:父类的publicprotected成员在子类中变为private
class Animal {
public:
    void eat() { cout << "Eating..." << endl; }
};

class Dog : public Animal {  // public继承
public:
    void bark() { cout << "Barking..." << endl; }
};
3.2 注意事项
  • 子类不能直接访问父类的private成员,但可以通过父类的protectedpublic成员函数间接访问。
  • 继承方式不会改变父类成员的原有属性,只是在子类中的访问权限可能发生变化。

4. 多态

多态是指同一个接口可以表现出不同的行为。多态分为静态多态和动态多态:

  • 静态多态:在编译时确定,主要通过函数重载和模板实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sagima_sdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值