C++学习笔记总结练习:类与对象

面向对象程序设计

面向对象程序设计(Object-Oriented Programming,简称 OOP)是一种编程范式,它将程序组织为对象的集合,这些对象通过相互之间的交互来完成任务。在面向对象编程中,对象是程序的基本单元,具有属性(数据)和方法(行为)。

面向对象程序设计的核心概念包括:

类(Class):类是对象的模板或蓝图,描述了对象的属性和方法。它定义了对象的结构和行为。例如,一个 "汽车" 类可以定义汽车的属性(如颜色、品牌、速度)和方法(如加速、刹车)。

对象(Object):对象是类的实例,具有类定义的属性和方法。通过实例化类,可以创建多个对象。例如,通过实例化 "汽车" 类,可以创建多个具体的汽车对象。

封装(Encapsulation):封装是将数据和方法封装在一个单元中,以实现信息隐藏和保护数据的安全性。通过封装,对象的内部细节对外部是不可见的,只有通过公共接口才能访问对象的属性和方法。

继承(Inheritance):继承是一种机制,允许一个类继承另一个类的属性和方法。通过继承,子类可以继承父类的特性,并可以添加、修改或覆盖继承的属性和方法。继承支持代码重用和层次化设计。

多态(Polymorphism):多态是指同一操作可以在不同的对象上产生不同的行为。通过多态,可以使用统一的接口来处理不同类型的对象,提高代码的灵活性和可扩展性。

面向对象程序设计的优点包括代码的可重用性、模块化、可维护性和可扩展性。它提供了一种更自然、更直观的方式来组织和设计程序,使得代码更易于理解和维护。

在使用面向对象程序设计时,你需要定义类、创建对象,并通过对象之间的交互来实现程序的功能。你可以使用面向对象的概念来建模现实世界的问题,并将其转化为代码实现。常见的面向对象编程语言包括 C++、Java、Python、C# 等。

参考文献

1 面向对象程序设计

核心思想

  • 抽象:类的接口与实现分离。
  • 封装:隐藏内部实现细节。访问控制运算符public/private/protect
  • 继承:定义相似的类型,对相似的关系建模。实现代码重用。
  • 多态:可以在以一定程度上忽略相似类型的区别。

继承概念

继承、泛化

  • 继承:联系在一起的类构成以中层次关系

  • 基类:层次关系的根部

  • 派生类:其他类则直接或间接地从基类继承而来。

  • 派生类与基类的函数继承:

    • 与类型相关的函数。基类与派生类类型不同,需要重写。
    • 与类型无关的函数。派生类直接继承,不需要修改。
  • 类派生列表:派生类通过类派生列表,明确指出它的基类。

    class Dog:public Animal{
    public:
    double price()const override;
    }

  • 派生类可以通过override关键字注明改写基类的函数。

多态(动态绑定)

  • 在运行时选择函数的版本。通过使用动态绑定,我们能用同一段代码分别处理Animal和Dog的对象。
相关推荐
QQ同步助手7 分钟前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
流浪的小新14 分钟前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
A懿轩A1 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
云边有个稻草人1 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
机器视觉知识推荐、就业指导1 小时前
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
c++
半盏茶香1 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
字节高级特工2 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++
唐诺8 小时前
几种广泛使用的 C++ 编译器
c++·编译器