C++中的面向对象(一)
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++中的面向对象(一)的更多相关文章
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- 前端开发:面向对象与javascript中的面向对象实现(一)
前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“ ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
- 浅谈Objective—C中的面向对象特性
Objective-C世界中的面向对象程序设计 面向对象称程序设计可能是现在最常用的程序设计模式.如何开发实际的程序是存在两个派系的-- 面向对象语言--在过去的几十年中,很多的面向对象语言被发明出来 ...
- Java中的面向对象
Java中的面向对象 在软件开发的学习中, 我最先接触的开发语言就是java,但都是简单的函数和循环数组的应用.说道面向对象,第一次看到这个词的时候还是在C#的学习过程中,我记得当时PPT上霸气的解释 ...
- Cocos2d-x 脚本语言Lua中的面向对象
Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类 ...
- lua中的面向对象编程
简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 上述代码会输出tb1 ~= tb2.说明两个具有相同值得对象是两个不同的对象,同时在Lua中table是引用类型的 ...
- 深入解读 Js 中的面向对象编程
前言:今天看了一篇文章觉得很不错,所以给大家分享一下,也许很多人都看过面向对象编程甚至写过这样博客,觉得面向对象编程就那样,没啥好说的,那可能是因为你对这方面知识已经了解,可以选择性跳过.那如果有更通 ...
- Golang 入门系列(五)GO语言中的面向对象
前面讲了很多Go 语言的基础知识,包括go环境的安装,go语言的语法等,感兴趣的朋友可以先看看之前的文章.https://www.cnblogs.com/zhangweizhong/category/ ...
随机推荐
- 浅谈XML涉及到的常见技术(编写+解析)
xml:即可扩展标记语言,用于描述关系型数据,也经常用作软件的配置文件: 1,编写xml文档一般基于一个约束文档,该文档用于规定xml的书写规范,常用的约束技术有 (1)XML ...
- 在vue中设计一个客户签名的功能
直接贴代码: <template> <div class="hello"> <p>签字:</p> <canvas id=&qu ...
- MySQL查询时报错Illegal mix of collations
开发十年,就只剩下这套架构体系了! >>> 1.具体场景 两张表分别为: CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AU ...
- 【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
下面我们进入双端口RAM和多模块存储器的学习.这是提高我们的存储器的访存速度的一些措施. 我们之前已经讲过我们的主存和CPU是进行连接的,那么这就导致了一个问题就是说,随着我们现代科技的发展,计算机的 ...
- 纯手动拉WebPanel页面保存出现错误提示 "error:字符文本中的字符太多"
环境为.Net 没有使用WorkWithPlus 纯手拉WebFrom页面 问题出现情况如下:在拉页面的过程中拖了3个Value类型的变量到Table中 页面如下 但是在我保存的时候 发现提示如下错 ...
- 二 shell 基础
一 文件的 权限基础 文件有三类权限 user,group,other, 权限分为 r w x 代表数字分别为 4 2 1 修改权限命令 chmod 权限还有特殊权限,在执行的时候代表某一身 ...
- java的任务
1.完善现有的日志记录系统,对异常进行处理和记录 2.基于需求实现账号信息录入接口
- Sass:Opacity函数-alpha()、opacity()函数
alphpa() 和 opacity() 函数很简单,与前面介绍的 red(),green() 等函数很类似.这个函数的主要功能是用来获取一个颜色的透明度值.如果颜色没有特别指定透明度,那么这两个函数 ...
- pychrome激活
http://blog.csdn.net/fx677588/article/details/58164902
- 前端每日实战:47# 视频演示如何用纯 CSS 创作一个蝴蝶标本展示框
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xzgZzQ 可交互视频教程 此视频 ...