java基础回顾-01-什么是面向对象

来源:互联网 发布:打车软件补贴方案 编辑:程序博客网 时间:2024/05/16 17:32

什么是面向对象?

相信只要不是80年代的开发者,这个问题你肯定被问过,而且我相信你当时很茫然,当然了,我也是。
那么,什么是面向对象?
这个问题可能没有唯一答案,也就是说,如果这个问题给你打分,10年的开发者跟2年的开发者,都有可能得90分,
也有可能是10分。就看你在你所处的那个阶段的领悟程度了,站的角度不同,说出的答案深度也就不一样了。
下面我以一个2年开发者的身份+最近看的一些书籍,说说我呆板的理解:
1️⃣:封装
2️⃣:抽象
3️⃣:多态
4️⃣:继承
这一片我主要写封装,下面是我从书上摘抄的部分

只要记住让变量和访问这个变量的方法放在一起, 将一个类中的成员变量全部定义成私有的, 只有这个类自己的方法
才可以访问到这些成员变量, 这就基本上实现对象的封装,就很容易找出要分配到这个类上的方法了, 就基本上算是会面
向对象的编程了。 把握一个原则: 把对同一事物进行操作的方法和相关的方法放在同一个类中, 把方法和它操作的数据放
在同一个类中。
对于这句话,我感触很深,如果你没有这种感觉,请再读一遍,不要省略任何一个字,
举个例子吧
人要在黑板上画圆, 这一共涉及三个对象: 人、 黑板、 圆, 画圆的方法要分配给哪个对象呢?


好好想想,难道是要分配给人吗?那分配给人的话,是谁在调用画圆的方法呢???
圆需要使用到圆心和半径, 圆心和半径显然是圆的属性, 如果将它们在类中定义成了私有的成员变
量, 那么, 画圆的方法必须分配给圆, 它才能访问到圆心和半径这两个属性, 人以后只是调用圆的画圆方
法、 表示给圆发给消息而已, 画圆这个方法不应该分配在人这个对象上。
这就是面向对象的封装性, 即将
对象封装成一个高度自治和相对封闭的个体, 对象状态(属性) 由这个对象自己的行为(方法) 来读取和
改变。 







原创粉丝点击