C++01 class and object

  • refactor(重构):一下把程序中所有这个变量的名字改成另一个名字
  • C++的class和C的struct只有一点点差别,叫类。
  • OOP三大原则:封装,继承,多态
    -面向对象:时间到了,同学们走进教室一个个坐下来,老师走进来,打开电脑,打开投影仪,铃声响了,老师讲第一句话,同学们听到第一句话,老师讲第二句话,同学们听到第二句话。while时间没到之类的。
    换一个角度:有一个教室,教室里有很多学生合影一个老师,有一个投影仪,有一个电脑,他们之间有些关系,比如电脑会输出视频信号到投影仪,投影仪会把视频信号投影到屏幕上,光线会照射到学生眼睛里,学生看到内容。老师发出声音,学生听到声音,老师讲的内容会被学生听到,学生自己内部还会做一些事情。如果这样去做描述,就是面向对象了。因为我们在分析说这个场景里有些什么样的东西,这些东西互相的关系。
    面向过程:描述事情发生的流程,按照时间顺序,会一步步发生什么

在这里插入图片描述

在这里插入图片描述

  • 上图public:(冒号表示以下所列),public下面是两个public
  • 上图的a.print(), a是一个对象,让a这个对象做print这个事情。任何变量都是对象,对象内 可以有对象。

什么是面向对象?
在这里插入图片描述

什么是对象?

在这里插入图片描述
对象和类的区别?
在这里插入图片描述

  • object 东西
  • class 东西的种类
  • 相似的东西归并为一类,起个名字,它就是类
  • C++里类就是类型,类定义了对象长什么样,对象是一个那个类的东西。比如杯子定义了杯子都应该上面有一个口,可以装水不漏。
  • 面向对象五条原则
  1. Everything is an object (废话)

  2. A program is a bunch of objects telling each other what to do by sending messages.(what to do 不是 how to do)

  3. Each objects has ist own memory made up of other objects.(抽象)

  4. Every object has a type.

  5. All objects of a particular type can receive the same messages.(所有可以收到相同信息的对象被认为是相同类型)

  6. interface(接口):装接口的好处很大,所以大部分都装了接口。没有接口很麻烦,有接口的话换一个接口就好了。所以在程序里面也要做出像接口这样可以拆换的东西。比如电路,台灯和电路之间就有接口,不然直接将电灯电线和电路相连,台灯就换不了位置,也不安全。在程序里这叫耦合,程序部分的耦合是松是紧,松比较好一些。

  7. Functions of interface: communication(交流) and protection(保护),只要程序有接口,里面的data就被保护了,比如灯泡有玻璃罩子,保护了灯丝,可以任意换灯丝,甚至把白炽灯换成LED等,,但接口不变,外界也不知道你内部变换。里面版本迭代,新功能什么的都行,也不用担心client利用自己的对象来做它本做不到的事情。所以程序内部具体实现要隐藏起来。(The Hidden Implementation)![在这里插入图片描述
    在这里插入图片描述

  8. Encapsulation(封装,把东西裹起来,形成有机联系。)package(打包,没有有机联系),把数据和对这些数据的所有操作放在一个对象里头,如那个蛋图一样,data在内,操作在外,这样就把数据细节隐藏起来,外界只能访问到公开内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值