C++自学笔记 面向对象程序设计OOP(Object Oriented Programming)

什么是对象?

Objects = Attributes + Services

Data : The properties or status

Operations: the fuctions

C语言中定义的变量用来存储数据,所以它可以理解为是“对象”

“任意变量都是对象”

对象拥有自己的属性和服务;

比如一盏灯,它的亮度,冷暖等就是它的属性;而它能带来的服务就是照明,拥有接口 并且能够输入(电)输出(光);

比如一个杯子,它的杯身颜色,里面水的多少就是它的属性;而它的服务就是让你喝水,同样拥有接口(杯口),输能入(水)和输出(水)。

 

面向过程是针对一个问题或者一个场景,需要有些什么步骤完成;

面向对象是针对一个问题或者一个场景中存在什么对象(物体),这些对象有什么属性能接受什么能提供什么服务/做什么操作。

object-oriented 面向对象 专注对象 而不是操作过程;

 


 

类和对象:

 

 类:对象的类别;

类定义了对象,对象是类的实例;

OOP Characteristics:

  1. 所有东西都是对象
  2. 一个程序就是一堆对象在通过发信息的方式相互告知要做什么操作(C语言源代码则是函数的集合)
  3. 每一个对象都有它自己的由其他对象组成的内存
  4. 每一个对象都有一个类型
  5. 所有特殊类型的对象都可以接受相同的信息(所有可以接受相同消息的对象都是同一特殊类型)

 

Interface:

一个对象拥有一个接口(拥有相同接口的对象是同一类型)

接口的功能:

  • Communication (便于更换,交流、松散耦合--loose coupling)
  • Protection (外面的接口保护里面的结构--hidden implementation)

oop 的三大原则:封装encapsulation,继承inheritance,多态polymorphic

posted @ 2022-09-24 15:51  slowlydance2me  阅读(26)  评论(0编辑  收藏  举报