C++的一些概念 面向对象程序的基本特点

2023-11-07

本节主要介绍一些基本概念,有关于面向对象程序的基本特点~~

  • Markdown和扩展Markdown简洁的语法

抽象

对某一类对象的共同属性和行为进行概括,形成类

  • 首先注意问题的本质和描述,其次是实现的过程或细节
  • 数据抽象:描述某类对象的属性或状态(数据抽象的结果—对象相互区别的物理量)
  • 代码抽象:描述某类对象的共由行为特征或具有的功能
  • 抽象的实现:类

抽象实例
对应的类的代码:

class Clock{
    public:
        void setTime(int newH, int newM, int newS);
        void showTime();
    private:
        int hour, minute, second;
};

封装

将抽象出的数据、代码封装在一起,形成类。

  • 目的:增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限来使用类的成员
  • 实现封装:类声明中的{}

仍然以上述代码举例:
类的封装
其中,“hour, minute, second”这三个数据成员就被隐藏在类的内部。

继承

在已有类的基础上进行扩展形成新的类。

多态

多态:同一名称,不同的功能实现方式
目的:达到行为标识统一,减少程序中标识符的个数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++的一些概念 面向对象程序的基本特点 的相关文章

  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 如何使用 x64 运行 cl?

    我遇到了和这里同样的问题致命错误 C1034 windows h 未设置包含路径 https stackoverflow com questions 931652 fatal error c1034 windows h no include
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 是否允许全局静态标识符以单个 _ 开头?

    换句话说 可能static 文件范围 全局变量恰好以一个下划线开头 而不会产生与 C 实现发生名称冲突的可能性 https www gnu org software libc manual html node Reserved Names

随机推荐

  • ubuntu离线安装deb包

    假如要下载numa库 在一台有网的电脑上执行下述操作 获取numa的deb及依赖包列表文件download list mkdir deb temp cd deb temp sudo apt get allow unauthenticated
  • Spring scope详解

    如何使用spring的作用域
  • 《C++ Primer》学习笔记目录汇总

    C Primer 第五版 章节目录 第1章 开始 第2章 变量和基本类型 第3章 字符串 向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第8章 IO库 第9章 顺序容器 第10章 泛型算法 第11章 关联容器 第12章
  • 凡是某单元有特定字符的,则删除整行 (VBA )

    有个工作表 有N行N列 B列是领料部门 C列是领料用途 E列是发料仓库 凡是B列有 研发部 技术部 则整行删除 凡是C列有 检测 修理 生产 则整行删除 凡是E列有 基建仓库 成品仓库 则整行删除 Sub Delrows Dim Arr k
  • PHP+JavaScript+HTML变量之间赋值及传递

    本文是最近做WAMP网站的学习知识 这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容 所以就涉及到一些相关变量赋值传递的内容 包括 HTML超链接传递值通过JavaScript显示 JavaScript变量转换成PHP变量 超链
  • 使用sort排序注意事项

    按照对3求余的余数的从小到大排序 余数相等的按值从小到大排序 bool cmp int a int b if a 3 b 3 return a 3
  • feign拦截器和解码器

    Feign拦截器和解码器 业务需求 在Spring Cloud的项目中 A服务使用Feign调用B服务的某个接口 如果需要传递全局认证token或参数 在方法参数里面加相应字段的方式显然是不可取的 首先想到的是AOP方式 使用切面拦截Fei
  • MySQL体系架构与运行机制

    本文知识点较多 篇幅较长 请耐心学习 题记 文章内容输出来源 拉勾教育Java高薪训练营 本篇文章是 MySQL 学习课程中的一部分笔记 前言 MySQL是最流行的关系型数据库软件之一 由于其体积小 速度快 开源免费 简单易用 维护成本低等
  • InnoSetup 安装程序设置环境变量

    InnoSetup 通过写入注册表值实现安装程序设置系统全局环境变量 环境变量以字符串值存储在注册表中 因此可以使用 Registry 区段操作它们 系统范围的环境变量位于 HKEY LOCAL MACHINE SYSTEM Current
  • 太赞了!16个好用到爆的Python实用技巧!

    介绍 人生苦短 快学Python Python 是一门用途广泛的编程语言 它具有大量的库和框架 有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松 编写代码更高效 本文将探讨一些鲜为人知的 Python 技巧 这
  • 夜神模拟器SD卡文件存储位置

    因为剧情需要 模拟器下载的几百个视频不知道存在了哪里 实在没办法 百度找不到 只好自己找 打开模拟器的安装目录 然后进入BignoxVMS nox文件夹 里面会看到类似这些文件 会用虚拟机的童鞋都知道这是什么文件 如果不知道的可以自己去百度
  • Linux 中shell 脚本if判断多个条件

    Linux 中shell 脚本if判断多个条件 格式如下 在比较时 数字和字符串用不同的比较符号 1 如果a gt b且a
  • Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录

    windows子系统Ubuntu20 04安装过程记录 前言 一 安装前准备 二 开始安装 三 更换镜像源 四 安装图形化界面 五 警告处理 六 迁移子系统 前言 我和我最后的倔强 坚持不换windows的口号被现实打败了 装双系统会影响到
  • Vue 项目中引入 element-ui 报 Cannot find module ‘babel-preset-es2015‘

    解决方法1 因为报的是module缺失 所以直接下载该模块即可 npm install babel preset es2015 save dev 解决方法2 出现这种问题可能是因为之前element ui全部引入了 按需引入能解决该问题 先
  • windows补丁下载地址

    https support microsoft com zh cn help 4041678 windows 7 update kb4041678
  • 每天学python- 罗马数字转整数

    题目描述 罗马数字包含以下七种字符 I V X L C D 和 M 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如 罗马数字 2 写做 II 即为两个并列的 1 12 写做 XII 即为 X II
  • 论文学习——Tune-A-Video

    Tune A Video One Shot Tuning of Image Diffusion Models for Text to Video Generation Abstract 本文提出了一种方法 站在巨人的肩膀上 在大规模图像数据
  • LeetCode:214. 最短回文串

    给定一个字符串 s 你可以通过在字符串前面添加字符将其转换为回文串 找到并返回可以用这种方式转换的最短回文串 示例 1 输入 s aacecaaa 输出 aaacecaaa 示例 2 输入 s abcd 输出 dcbabcd 提示 0 lt
  • 结构体学习笔记

    结构体笔记 声名结构的形式 struct point int x int y p1 p2都是point 里面有x和y struct point p1 p2 struct int x int y p1 p2 p1 p2都是一种无名结构 里面有
  • C++的一些概念 面向对象程序的基本特点

    本节主要介绍一些基本概念 有关于面向对象程序的基本特点 Markdown和扩展Markdown简洁的语法 抽象 对某一类对象的共同属性和行为进行概括 形成类 首先注意问题的本质和描述 其次是实现的过程或细节 数据抽象 描述某类对象的属性或状