1 花钱培训不是卖工作,而是学习知识技能
2 做事情需要全力以赴
3 做过什么项目部重要,重要的是学会了什么
4 敢于去做事情 价值就会提高
如何学习c++
1 c++ 语法基础(熟练掌握)
2 面向对象程序设计的概念与能力
3 大量的编程实践(a 熟练阅读复杂的c++源码 b 独立的设计与完成面向对象的c++程序)
Block Structured language
结构化分析:针对数据流建立数据模型,功能模型和行为模型,结构化设计业就是基于数据流的设计方法
encapsulation
Flexible data scoping
modularization
Object-Oriented Language
面向对象:使开发软件的方法与过程尽可能的接近人类认识世界解决问题的方法与过程,使描述问题的问题空间与实际解法的解空间在结构上尽可能一致。将数据与施加在该数据之上的操作封装成类来模拟现实生活中的"对象"
ineritance
Polymorphism
Abstract data types
打个比方:
结构化编程:你要出门坐车,先写个穿鞋出门的方法,然后是走路的方法,然后是等车的方法,然后是上车买票的方法,做到哪写到哪
面向对象:把以上各种方法写成类,存起来。你出去坐车可以依次调用这些方法,下次你出去坐火车,飞机都可以直接调用这些方法
标准c++
1 头文件不带.h
2 main 默认返回int
面向对象程序设计方法
1 分析并分解出某个问题中的种种对象
2 准确的描述所有对象之间的种种关系
3 找到他们之间的所有相互作用
4 用程序设计语言与工具来描述他们
5 用程序开发语言来表达(实现)他们
结构化程序设计
程序=数据+算法
算法=函数+控制流程
特点
结构化封装,但无法隐藏
算法依赖于数据,更改与维护困难
重用性差
面向对象
封装(类实现):数据隐藏,操作屏蔽,把特定的数据与相应的操作组合起来,把可见的与不可见的部分很理想的分离开来
继承: 更好的可重用性
多态:
本质
c++允许把派生类对象的地址赋给基类的指针
所有的派生类的本质上都"is a"基类
用基类的指针调用任何方法,c++都能找到相应的派生类的方法