基于翁恺老师的课程视频链接
面向对象
英文:object-oriented
对象
object = attribute(data:properties or status) + services(operation/function)
变量也是一种对象
与面向过程区别:按顺序描述流程还是描述存在的对象间关系(数据与函数的关系)
C的结构体只包含数据,而C++的类还包括函数(“扩充”)
对象和消息
消息:由发送者产生,由接收者解释(取决于接收者状态),由方法(函数)执行
(不可直接操作对象里面的数据)
消息:可能改变接收者状态,并返回结果(数据或状态)
类与对象
OOP五项原则
Object Oriented Programming = OOP
(C:函数的集合(main也是函数orz)+全局变量)
1.万物皆对象
2.消息传递->“what to do”
3.每个对象由其他对象组成
4.每个对象有类型(先类型后对象<-人为科学)
5.接收相同消息==相同类型对象
接口interface
(输入输出?)
每个对象都有接口
功能:通信和保护(耦合“可以拆换”)
隐藏内部事件
封装encapsulation
封装(与package区别)
隐藏数据