C++图文并茂轻松进阶面向对象

 更新时间:2022年04月20日 16:56:10   作者:清风自在 流水潺潺  
面向对象中对象是指具体的某一个事物,这些事物的抽象就是类,类中包含数据(成员变量)和动作(成员方法),接下来让我们一起详细了解

一、进阶面向对象(上)

面向对象的意义在于

  • 将日常生活中习惯的思维方式引入程序设计中
  • 将需求中的概念直观的映射到解决方案中
  • 以模块为中心构建可复用的软件系统
  • 提高软件产品的可维护性和可扩展性

类和对象是面向对象中的两个基本概念

  • 类∶指的是一类事物,是一个抽象的概念
  • 对象∶指的是属于某个类的具体实体
  • 类是一种模型,这种模型可以创建出不同的对象实体
  • 对象实体是类模型的一个具体实例

注:一个类可以有很多对象,而一个对象必然属于某个类。

生活中的类和对象

类和对象的意义

类用于抽象的描述一类事物所特有的属性和行为

  • 如:电脑拥有CPU,内存和硬盘,并且可以开机和运行程序

对象是具体的事物,拥有所属类中描述的一切属性和行为

  • 如:每一只老虎都有不同的体重,不同食量以及不同的性情

二、小结(上)

  • 面向对象是当今软件开发中的重要方法
  • 类和对象是面向对象理论中的基本概念
  • 类和对象均来源于日常生活中
  • 每个类可以有多个对象
  • 每个对象必然属于某个类

三、进阶面向对象(下)

类之间的基本关系

继承

  • 从已存在类细分出来的类和原类之间具有继承关系( is-a )
  • 继承的类(子类)拥有原类(父类)的所有属性和行为

组合

  • 一些类的存在必须依赖于其它的类,这种关系叫组合
  • 组合的类在某一个局部上由其它的类组成

类之间的基本关系 -- 继承

惠普电脑和苹果电脑都继承于电脑,具备电脑的所有特征。

类之间的基本关系 -- 组合

类的表示法

类的表示法 -- 简化

类的表示法 -- 改进1

类的表示法 -- 改进2

类的表示法 -- 改进3

这有点代码的味道了,那么如何用程序设计中的概念描述类的属性和行为?下面做最终改进。

类的表示法 -- 改进4

下面把上面表示方法写成代码,看看编译器会不会报错吧。

#include <stdio.h>
 
struct Biology {
    bool living;
};
 
struct Animal : Biology {
    bool movable;
    void findFood() { }
};
 
struct Plant : Biology {
    bool growable;
};
 
struct Beast : Animal {
    void sleep() { }
};
 
struct Human : Animal {
    void sleep() { }
    void work() { }
};

int main()
{
    return 0;
}

下面为输出结果:

可以看到,编译器并没有报错,也就证明面向对象那种表示方法是可以的。

四、小结(下)

  • 类之间可以存在继承关系或组合关系
  • 继承关系中子类拥有父类的一切属性和行为
  • 组合关系是类之间整体和部分的关系
  • 类及类之间的关系可以有不同的表示法
  • 编译器对类的表示法有具体的要求

到此这篇关于C++图文并茂轻松进阶面向对象的文章就介绍到这了,更多相关C++面向对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c语言压缩文件详细讲解

    c语言压缩文件详细讲解

    这篇文章主要从单文件压缩、多文件压缩、多文件异步压缩讲诉了c语言压缩文件,需要的朋友可以参考下面具体的文章内容
    2021-09-09
  • C语言实现栈的示例详解

    C语言实现栈的示例详解

    栈是一种特殊的线性表,只允许从一端进出数据,称为后进先出,先进后出。本文主要为大家介绍了C语言实现栈的示例代码,感兴趣的可以了解一下
    2022-06-06
  • C语言数据结构之模式匹配字符串定位问题

    C语言数据结构之模式匹配字符串定位问题

    这篇文章主要介绍了C语言数据结构之模式匹配字符串定位问题的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下
    2017-10-10
  • C语言版扫雷游戏

    C语言版扫雷游戏

    这篇文章主要为大家详细介绍了C语言版扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • C++实现贪吃蛇游戏

    C++实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了C++实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Windows安装配置C/C++(VS2017)OpenSSL开发环境配置教程

    Windows安装配置C/C++(VS2017)OpenSSL开发环境配置教程

    这篇文章主要为大家详细介绍了Windows安装配置C/C++,OpenSSL开发环境配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 深入解析C++中类的多重继承

    深入解析C++中类的多重继承

    这篇文章主要介绍了深入解析C++中类的多重继承,包括多重继承相关的二义性问题,需要的朋友可以参考下
    2015-09-09
  • C语言超详细讲解getchar函数的使用

    C语言超详细讲解getchar函数的使用

    C 库函数 int getchar(void) 从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于 getc 带有 stdin 作为参数,下面让我们详细来看看
    2022-05-05
  • 讲解C++编程中Address-of运算符&的作用及用法

    讲解C++编程中Address-of运算符&的作用及用法

    这篇文章主要介绍了C++编程中Address-of运算符&的作用及用法,是C++入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • C语言实现字母大小写转换的方法

    C语言实现字母大小写转换的方法

    这篇文章主要介绍了C语言实现字母大小写转换的方法,涉及C语言字符串的遍历与转换技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07

最新评论