这里是面向对象程序设计(C++)的学习笔记.
第一部分主要是本慕课的一些基础语法和知识
第二部分具体是应用。分章节
- 第一部分 (第一讲到第四讲)
- 第五讲 找到对象,确定接口
- 第六讲 算法横向拆分,分离步骤
- 第七讲 算法横向拆分,分离表示
- 第八讲 基于接口组合,应对复杂变化
- 第九讲 增加抽象层级,隔离复杂变化
- 设计模式
第一章 主要回顾了程序设计基础里的一些内容,程序的编译链接的方法、makefile的使用方法、命令行参数的传递等,这部分大家只需要有个基本的了解就可以了;
第二章到第四章介绍了C++中有关面向对象部分的语法,主要有以下几个知识要点:
- 函数的继承和重载:如何继承和重载、作用分别是什么、原函数是否会被覆盖;
- 构造函数和析构函数:定义、初始化、作用、调用时机、调用顺序;
- 类和友元:类和友元的定义、各自的访问权限;
- 运算符重载:赋值运算符、流运算符、函数运算符、下标运算符各自的重载和调用方式;
- const和static成员:定义、作用、访问方式;
- 虚函数:定义、作用、使用语法、纯虚函数、抽象类;
- 类型转换:自动类型转换、禁止自动类型转换、强制类型转换;
- 函数模板和类模板:定义、作用、语法、成员函数模板、模板特化。
第五章到第九章是设计模式方面的内容,主要介绍设计一个优秀的面向对象程序的基本思想和需要遵循的原则,需要掌握的内容有:
- 接口和多态:多态的实现方式,静态多态、动态多态(运行时多态)
- 单一责任原则
- 迭代器
- 策略模式
- 委托模式
- 装饰模式
- 责任链
- 代理模式