1,本节课开始进入 C++ 中的面向对象,面向对象是 C++ 中最核心也是体现 C++ 价   值的一个部分;

2,日常生活当中我们都习惯对事物进行分类,那么这种分类的思想是否可以引入到 程序设计中?

1,可以;

2,面向对象就是将分类的思想直接引入到程序设计当中;

3,面向对象的意义在于:

1,将日常生活中习惯的思维方式引入程序设计中;

1,避免错误;

2,顺序、选择、循环这三种 C 中的编程泛型不能满足非科学计算中的软件开发问题,引来了软件灾难;

2,将需求中的概念直观的映射到解决方案中;

1,引起软件灾难的原因就是需求变更;

2,少许的需求改变对应着少许的软件更改;

3,将分类的思想引入到软件设计中,获得成功,由此面向对象诞生;

3,以模块为中心构建可复用的软件系统;

4,提高软件产品的可维护性和可扩展性;

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

1,类:指的是一类事物,是一个抽象的概念;

1,类是一个类别,抽象的;

2,对象:指的是属于某个类的具体实体;

3,类是一种模型,这种模型可以创建出不同的对象实体;

1,模型存在不一定存在实体;

2,实体存在则一定存在模型;

4,对象实体是类模型的一个具体实例;

5,一个类可以有很多对象,而一个对象必然属于某个类;

1,语言分为程序设计语言和自然语言两个类;

2,程序设计语言和自然语言又能够分别分类;

6,生活中的类和对象:

1,将分类思想带入程序设计中,这很重要;

7,类和对象的意义:

1,类用于抽象的描述一类事物所持有的属性和行为;

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

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

1,不同的对象属性和行为上有差异;

2,每一只老虎都有不同的体重,不同食量以及不同的性情;

3,每一个子类对象都拥有父类的一切属性和行为,因为其也属于父类;

8,一些有趣的问题:

1,类一定存在实际的对象吗?

1,不一定,纯虚类;

2,类是分别出来的,恐龙类就没有对象;

2,类的对象数目是确定的吗?

1,不一定;

2,老虎的数目是不确定的;

3,皇帝这个类对象数只有一个;

3,类一定都来源于现实生活中吗?

1,不一定,纯虚类;

4,类都是独立的吗?类之间存在关系吗?

1,不都是独立的,类之间可以继承也可以组合;

5,对象实例一定只属于一个类吗?

1,不一定,其也属于这个类的父类;

2,多重继承;

6,对象实例可能完全相同吗?

1,不可能;

2,不可能出现两个完全相同的树叶;

9,小结:

1,面向对象是当今软件开发中的重要方法;

2,类和对象是面向对象理论中的基本概念;

3,类和对象均来源于日常生活中;

4,每个类可以有多个对象;

5,每个对象必然属于某个类;

C++中的面向对象(一)的更多相关文章

  1. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  2. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  3. 前端开发:面向对象与javascript中的面向对象实现(一)

    前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“ ...

  4. Java语言中的面向对象特性总结

    Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知 ...

  5. 浅谈Objective—C中的面向对象特性

    Objective-C世界中的面向对象程序设计 面向对象称程序设计可能是现在最常用的程序设计模式.如何开发实际的程序是存在两个派系的-- 面向对象语言--在过去的几十年中,很多的面向对象语言被发明出来 ...

  6. Java中的面向对象

    Java中的面向对象 在软件开发的学习中, 我最先接触的开发语言就是java,但都是简单的函数和循环数组的应用.说道面向对象,第一次看到这个词的时候还是在C#的学习过程中,我记得当时PPT上霸气的解释 ...

  7. Cocos2d-x 脚本语言Lua中的面向对象

    Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类 ...

  8. lua中的面向对象编程

    简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 上述代码会输出tb1 ~= tb2.说明两个具有相同值得对象是两个不同的对象,同时在Lua中table是引用类型的 ...

  9. 深入解读 Js 中的面向对象编程

    前言:今天看了一篇文章觉得很不错,所以给大家分享一下,也许很多人都看过面向对象编程甚至写过这样博客,觉得面向对象编程就那样,没啥好说的,那可能是因为你对这方面知识已经了解,可以选择性跳过.那如果有更通 ...

  10. Golang 入门系列(五)GO语言中的面向对象

    前面讲了很多Go 语言的基础知识,包括go环境的安装,go语言的语法等,感兴趣的朋友可以先看看之前的文章.https://www.cnblogs.com/zhangweizhong/category/ ...

随机推荐

  1. 关于分布式唯一ID,snowflake的一些思考及改进(完美解决时钟回拨问题)

    1.写唯一ID生成器的原由 在阅读工程源码的时候,发现有一个工具职责生成一个消息ID,方便进行全链路的查询,实现方式特别简单,核心源码不过两行,根据时间戳以及随机数生成一个ID,这种算法ID在分布式系 ...

  2. C#使用Process启动exe程序,不弹出控制台窗口的方法

    背景:使用wkhtmltopdf工具将html转换成pdf时,这个工具在进行转换时会弹出命令行窗口显示转换过程,但是在项目运行时弹出服务器突然弹出控制台窗口会很奇怪,尤其是当转换多个时.解决这个问题 ...

  3. elasticsearch 基础 —— Explain、Version、min_score、query  rescorer

    Explain 相关度得分计算: GET /_search { "explain": true, "query" : { "term" : ...

  4. Linux就该这么学08学习笔记

    参考链接:https://www.linuxprobe.com/chapter-08.html 防火墙管理工具 众所周知,相较于企业内网,外部的公网环境更加恶劣,罪恶丛生.在公网与企业内网之间充当保护 ...

  5. React(1) --新建项目

    搭建React开发环境之前的准备工作 1.必须要安装node.js (注意:安装node.js稳定版本) 2.安装cnpm,用cnpm替代npm npm install -g cnpm --regis ...

  6. Git--07 Gitlab备份与恢复

    目录 Gitlab备份与恢复 01). 备份 02). 恢复 Gitlab备份与恢复 ​ 对gitlab进行备份将会创建一个包含所有库和附件的归档文件.对备份的恢复只能恢复到与备份时的gitlab相同 ...

  7. ansible笔记(三)--模块讲解

    ansible 常用命令 ansible-doc ansible-playbook ansible-vault ansible-console ansible-galaxy ansible-pull ...

  8. Center os6.5 mysql

    1 # yum -y install mysql-server mysql  mysql-dev 2 启动mysql   # service mysqld start 3 为root用户配置一个密码 ...

  9. jmeter 参数化2_CSV Data Set Config

    CSV Data Set Config:适用于参数取值范围较大的时候使用,该方法具有更大的灵活性 操作路径:HTTP取样器-->Add-->Config Element-->CSV ...

  10. Dataphin帮助企业构建数据中台系列之--萃取数据中心

    Dataphin作为阿里巴巴数据中台OneData (OneModel.OneID.OneService)方法论的产品载体,帮助企业构建三大数据中心:基于数据集成形成的垂直数据中心.基于数据开发沉淀的 ...