C++——绪论
计算机语言的发展
1、机器语言(二进制)、汇编语言。比较难以理解和识记,与人类语言之间的差距太大;
2、高级语言,可以写出类似于人类思维的语句,可以有人们习惯的表达方式;
3、面向对象的语言,描述客观世界事物的属性和行为以及其关系;将具有共同属性和行为的事物归类,形成类,并且可以继承(同类的共同属性)、多态(同类的不同之处),更加的接近人类的思维和语言方式;
(学好一门语言我们不一定能够完成什么事情,因为缺乏相对应的专业背景)
程序设计方法
1、面向过程的程序设计方法。
2、面向过程结构化程序设计方法。(结构化,模块化,模块之间尽可能少联系和不联系)
3、面向对象的程序设计方法。
3.1 将数据和对数据的操作方法封装在一起,作为一个整体,称为对象。
3.2 同类事物抽象出来,形成类,并通过接口与外部联系。
3.3 对象之间可以发生联系。
3.4 对象——系统中描述客观事物的实体,是构成系统的基本单位,由属性(静态)和行为(动态)构成。
3.5 类——抽象,忽略表面的非本质的东西,将具有相同性质的事物归成一类,得出一个抽象的概念,比如车,石头,树等。面向对象的类同样是具有共同性质的对象(类的实例)的集合,该类为属于它的所有对象提供共同的属性和行为的描述,就像一个模具,对象就像是这个模具生产出来的铸件。
3.6 封装——把对象的属性和行为结合在一起,与外界形成一定隔离,但有一定的外界接口,比如说钟表(可以调时的),只可以在外面调时,不可拆开,所以要规定哪些属性是不可操作的,哪些是提供给外界操作的,因此也就需要提供一些供外界操作的方法和接口。
3.7 继承——程序设计中,继承是特殊类具有一般类的全部属性和行为(轮船继承交通工具)。
3.8 多态——继承了一般类的特殊类,可能具有不同的外在行为和属性。比如轮船之于货轮与游轮。
4、基本术语
源程序——代码,目标程序——经过翻译的计算机能够认识的代码,编译程序——是用高级语言写成的用来将源程序翻译成目标程序的代码。
C++——绪论的更多相关文章
- TMS320C54x系列DSP的CPU与外设——第1章 绪论
第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有 ...
- 翻译学python---《Learn Python the hard Way》---第一章 绪论
打算学习python,但是又不想单纯地看书或是写个小项目,干脆引入很流行的翻译学习法来学习吧- 在论坛上看到了国外的一本<Learn Python the hard Way> ...
- 数据结构与算法(C/C++版)【绪论/线性表】
声明:数据结构与算法系列博文参考了<天勤高分笔记>.<王道复习指导>.C语言中文网.非商业用途,仅为学习笔记总结! 第一章<绪论> 一.基本概念及入门常识 /// ...
- 数字图像处理的Matlab实现(1)—绪论
第1章 绪论 1.1 什么是数字图像处理 一幅图像可以定义为一个二维函数\(f(x,y)\),这里的\(x\)和\(y\)是空间坐标,而在任意坐标\((x,y)\)处的幅度\(f\)被称为这一坐标位置 ...
- Data01-数据结构和算法绪论
Data01-数据结构和算法绪论 一.数据结构和算法绪论 1.1 什么是数据结构? 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 程序设计=数据结 ...
- Chapter 1(数据结构绪论)
附件列表 数据结构绪论.jpg
- 编译原理(一)绪论概念&文法与语言
绪论概念&文法与语言 以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记. 绪论基本概念 1. 低级语言:字位码.机器语言.汇编语言.与特定的机器有关,功效高,但使用复杂.繁琐.费时 ...
- 【读书笔记】周志华《机器学习》第三版课后习题讨<第一章-绪论>
虽然是绪论..但是...真的有点难!不管怎么说,一点点前进吧... 声明一下答案不一定正确,仅供参考,为本人的作答,希望大神们能多多指教~ 1.1 表1.1中若只包含编号为1和4的两个样例,试给出相应 ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- Java反射学习系列-绪论
Java反射学习系列-绪论 https://blog.csdn.net/hanchao5272/article/details/79358924
随机推荐
- sqlserver2014部署安装
百度云网址链接: https://pan.baidu.com/s/1BwgdnESI8Fqlos9EIOLv1A 提取码: wsy5 1.解压ISO镜像文件,点击setup安装程序 2.进入安装界面 ...
- linq行转列
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...
- 使用 Express 脚手架
安装: npm install -g express-generator 创建项目: express myapp 安装依赖 install dependencies: > npm install ...
- java开发相关工具安装包分享
链接:https://pan.baidu.com/s/19rSlXhrZ9AtNdai64tErGQ 提取码:04up
- Educational Codeforces Round 80 (Rated for Div. 2)(A-E)
C D E 这三道题感觉挺好 决定程序是否能通过优化在要求的时间内完成,程序运行时间为t,你可以选择花X天来优化,优化后程序的运行时间为t/(x+1)取上整,花费的时间为程序运行时间加上优 ...
- 使用hexo+github搭建免费个人博客详细教程(转载)
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html 1.上传文档的hexo常用命令 2.输入hexo ...
- 积分题1之来自G.Han的一道积分题
今天,收到G.Han的提问,第一个是计算积分 \[\int_0^{\infty}{\frac{\ln x}{(x^2+1)^n}dx}\]顿时不明觉厉,然后在宝典<Table of Integr ...
- PP: Articial Intelligence—TheRevolution Hasn’t HappenedYet
From Michael I. Jordan As with many phrases that cross over from technical academic fields into gene ...
- LeetCode 第二题 Add Two Numbers 大整数加法 高精度加法 链表
题意 You are given two non-empty linked lists representing two non-negative integers. The digits are s ...
- Ubuntu 打不开终端 侧边栏消失的解决办法
在网上找了很多办法,大多不行,具体原因也不太清楚,应该是Unity某些配置被改了. 我是在ubuntu14.04平台利用apt-get卸载python后,关机重启出现"打不开终端和侧边栏消失 ...