2 什么是面向对象
对象=属性(是什么)+服务(提供什么)
面向过程:按照时间顺序,一步步发生什么样的事情。
面向对象:场景中存在什么东西object,东西间的关系如何。
以上课为例:略。
以程序为例:C的struct中只有数据,C++的class中有数据和操作。
什么是面向对象:是一种分析思路和代码实现的方法。重点是关注问题领域中存在什么物件,而不是整个流程。
3 面向对象基本原理
对象间通过发送和接受消息来行动。(不要伸手直接操纵”蛋黄“)
消息:由发送方撰写,由接收方分析,通过方法来实现。消息可能导致接收方更改状态或返回结果。
东西Object:具体到某一个实体。
类Class:某一类实体的集合,是一种概念。
面向对象的五条原则:
- 所有东西都是对象。
- 程序是一个通过发送消息的方式,告诉彼此应该做什么what to do的对象集合。
- 每一个对象有由其他对象组成的内存。
- 每一个对象有一个类型。
- 一个特定类型的所有的对象都可以接收相同的消息。
接口Interface的作用:交流和保护。
内部的隐藏:让类的创造者更改类的内部,而让类的使用者远离类的内部。
面向对象的三大原则:
- 封装Encapsulation
- 将数据和处理这些数据的方法捆绑在一个对象中
- 隐藏数据和操作的详细信息
- 仅限制对公开方法的访问
- 继承
- 多态性
4 自动售票机例子
- 直接创建TicketMachine的类,自动生成相应的**.h头文件和.cpp文件**。
- h头文件:声明类。
#ifndef TICKETMACHINE_H_ //如果这个头文件没有被包含
#define TICKETMACHINE_H_ //就包含这个头文件并且定义这个变量
class TicketMachine {
public: