写在前面:作为一只小白,感谢小甲鱼老师提供这么好的入门课程。因此在这里做个笔记,如有侵权请联系删除。

www.fishc.com

①C++的特点与OO思想

c语言有一个优点,即它的速度可以很快。写出来的程序可以很精炼,简单,小巧,不用为了解决某个问题环绕太平洋一圈

但是如果将C和C++相比较,C++就经常会为了解决某个问题绕一个大圈,所以代码里相对较大,并且里边有一些不是必须的代码。

但是C++有个绝对优势,就是针对不同的对象去做实例化,这就是所谓的OO思想。

②什么是OO思想

》》》在面向对象的思想中,任何事物都可以被看做一个对象。一个再复杂的模型结构都是由千千万万个对象组成的。这是根本思想。

例如:地球可以看作一个相当复杂的对象。地球上的每种动物,每种植物,空气,水,土壤等,都是对象。

》》》它们彼此之间互相联系,组合,最终形成了地球,而对于每个对象,抽象起来最终可以分为两个要素:属性和行为。

》》》在面对对象编程中,程序猿不再面对一个个函数和变量,而是放眼大局,面对一个个对象来看问题。

》》》每个对象都是一个完整的独立的个体,他是由相关的属性和行为组合,与外界分隔。

例如,一家跨国公司,它在全球有很多分公司,每个公司都有自己的员工和一套自己的运作体系。对于总公司而言,分公司好比“黑箱”,总公司不需要干预分公司如何调配人员互作等,只需下达命令和指标。

》》》面向对象是当前软件开发方法的主流,其概念和应用早已超越了程序设计和软件开发本身而扩展到更加宽广的范围。

举个例子:例如我们的图形用户界面(GUI)编程,面向对象在这方面的能力是相当出众的,以至于人们在那些并不直接支持面向对象的语言(例如C)中也创建了一些模拟OO的软件结构,以便进行GUI编程。典型例子:GNOME/GTK+工具。

③OO思想的特点

特点:

1、封装 

封装意味着把对象的属性和方法结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。

封装是面向对象思想描述的基础,从此程序猿面对的就不再是许多复杂的函数和过程实现,而是少数具有行为能力的个体实例。

2、抽象

抽象的过程是对具体问题进行概括的过程,是对一类公共问题进行统一描述的过程。为了使某些必要的信息得以顺利的交流,设计者必须制定一个抽象,就如同一个协议,一个得到所有参与活动的有效个体支持的协议。

例如面包房提供一个抽象--------“订单”

3、继承

子类对象拥有与其基类相同的全部属性和方法,成为继承。

这个事实上最容易理解:例如人都共有的一些属性:鼻子,眼镜,嘴巴........和一些方法:吃饭,睡觉,打豆豆,。。。

可以由此基础上再整出亚洲人,欧洲人,非洲人.................

最后,可以创造出亚洲美女小红

4、多态

多态是指在基类中定义的属性和行为被子类继承以后,可以具有不同的数据类型或者表现行为等特性。

假如动物是一个基类,它的子类由老虎,兔子,狗,小鸟。。。。。

那么作为动物有一个行为定义为Move()

那么这些子类继承下来以后会根据自己的特性采取不同个性的Move()方式。

小甲鱼C++ 1 语言与思想介绍相关推荐

  1. 数据结构与算法|马踏棋盘算法(小甲鱼)C语言代码的算法分析

    马踏棋盘算法(骑士周游问题)的算法分析 C语言代码部分来自小甲鱼的<数据结构与算法> 文章目录 马踏棋盘算法(骑士周游问题)的算法分析 一.C语言代码实现 二.代码分析与算法思路 题目要求 ...

  2. 【跟着小甲鱼学C语言】P32 作用域和链接属性

    作用域和链接属性 1.链接属性 链接属性有三种,external,internal和none.external表示这个标识符可以被多个文件访问,internal表示只能被本文件访问.默认情况下,具备文 ...

  3. 小甲鱼最新c语言视频,带你学c带你飞系列

    https://www.bilibili.com/video/av8302677/?p=7

  4. 跟着小甲鱼零基础学C

    先学一遍<小甲鱼的C语言教程>.25小时.基础,详细. 高数跟着宋浩老师,也是很基础. 有些东西捡起来不容易,但是不能因为不容易我们就不做.

  5. 考研C语言复习02(小甲鱼版本)

    递归 //递归必须要有结束条件,否则程序将崩溃 void recursion(void); void recursion(void){static int cpunt = 10;printf(&quo ...

  6. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  7. C语言学习(小甲鱼)

    C语言学习(小甲鱼) 第二章:数据类型,运算符和表达式 2.1:数据类型,运算符和表达式1 2.2:数据类型,运算符和表达式2 2.3:数据类型,运算符和表达式3 2.4: 数据类型,运算符和表达式4 ...

  8. python小课文件_[Python]小甲鱼Python视频第030课(文件系统:介绍一个高大上的东西)课后题及参考解答...

    # -*- coding: utf-8 -*- """ Created on Fri Mar 8 15:49:32 2019 @author: Administrator ...

  9. C语言程序设计笔记1(小甲鱼

    一.打印 1.打印HelloWord #include<stdio.h> int main() {printf("HelloWord!\n");return 0; } ...

  10. 【小甲鱼】python零基础入门学习笔记 03讲~43讲

    本篇基于[莫烦]python基础教程,属于查漏补缺 建议学习顺序 小甲鱼->莫烦numpy&pandas 目录 第003讲 插曲之变量和字符串 课堂笔记 变量 变量 需要注意的地方 字符 ...

最新文章

  1. 【实战教程】腾讯云搭建微信小程序服务
  2. 中国硫酸氧钒市场发展战略与投资可行性分析报告2022-2028年版
  3. QPainter类的CompositionMode各值含义
  4. 持有数字货币的手机丢了,数字货币还能找回来吗?该注意些什么?
  5. python读取shp文件,
  6. 手机怎么解决同ip多账号_原神手游如何多开刷初始号赚钱技巧攻略 | 兔子IP
  7. wpdec函数_小波包分解常用函数
  8. php圆的面积计算公式,圆的面积怎么计算如何求解
  9. 笔记本电脑内外网(无线和本地网络)优先顺序选择
  10. Google Drive(谷歌网盘)下载超大文件方法
  11. 讲讲传奇架设教程跟传奇开区教程,我们首先要明白传奇如何形成
  12. 全国省市二级json,带id
  13. qt做标定软件_有什么很好的软件是用 Qt 编写的?
  14. glutSwapBuffers()和glFlush()区别
  15. 一曲相思用计算机弹,弹一曲离殇,奏一曲相思
  16. cv::mat与unsigned char*相互转化之间的转换
  17. java实践项目_20个Java练手项目,实践才是硬道理
  18. 使用C#版本GDAL读取复数图像
  19. 史上最尴尬面试--连数据基本类型都忘了
  20. 灰度变换,gama变换,对数,反对数变换

热门文章

  1. Linux中Bin文件压缩包解压运行
  2. Python黑客绝技04:Python基础知识2
  3. Error while trying to use the following icon from the Manifest
  4. iOS plist存储
  5. 算法提高 7-2求arccos值
  6. react native 获取验证码
  7. mysql 查询距离某天最近的一条记录
  8. html随机背景颜色,javascript实现随机生成DIV背景色
  9. 企业盈利能力五大指标之:净利率
  10. 苹果手机代数_苹果一共几代?