java的对象

对象是一个包含相关状态和行为的软件包。本节解释了状态和行为是如何在对象中表示的,介绍了数据封装的概念,并解释了以这种方式设计软件的好处。

对象有两个共同的特征:它们都有状态和行为。狗有状态(名字,颜色,品种,饥饿)和行为(吠叫,抓取,摇尾巴)。自行车也有状态(当前档位、当前踏板节奏、当前速度)和行为(换档、换踏板节奏、踩刹车)。识别真实世界对象的状态和行为是开始考虑面向对象编程的一个很好的方法。

现在,花一分钟的时间来观察你周围的现实世界中的物体。对于你看到的每个对象,问自己两个问题:“这个对象可能处于什么状态?”和“这个对象可能执行什么行为?”一定要写下你的观察结果。当你这样做的时候,你会注意到现实世界的对象在复杂性上是不同的;您的桌面灯可能只有两种可能的状态(打开和关闭)和两种可能的行为(打开、关闭),但您的桌面收音机可能有其他状态(打开、关闭、当前音量、当前电台)和行为(打开、关闭、增加音量、减少音量、查找、扫描和调优)。您可能还注意到,一些对象反过来也会包含其他对象。这些真实世界的观察是理解面向对象编程世界的起点。

软件对象由状态和相关的行为组成。对象将其状态存储在字段(某些编程语言中的变量)中,并通过方法(某些编程语言中的函数)公开其行为。方法操作对象的内部状态,并作为对象到对象通信的主要机制。隐藏内部状态并要求所有交互都通过对象的方法执行,这被称为数据封装——面向对象编程的基本原则。

通过属性状态(当前速度、当前踏板节奏和当前齿轮)并提供改变该状态的方法,对象仍然控制外界允许如何使用它。例如,如果自行车只有6个档位,换档方法可以拒绝任何小于1或大于6的值。

将代码绑定到单独的软件对象中提供了许多好处,包括:

  1. 模块化:一个对象的源代码可以独立于其他对象的源代码编写和维护。对象一旦创建,就可以很容易地在系统内部传递。
  2. 信息隐藏:通过只与对象的方法交互,其内部实现的细节对外界保持隐藏。
  3. 代码重用:如果一个对象已经存在(可能是由另一个软件开发人员编写的),您可以在程序中使用该对象。这允许专家实现/测试/调试复杂的、特定于任务的对象,然后您可以信任这些对象在您自己的代码中运行。
  4. 可插拔性和易于调试:如果某个特定对象出现问题,您可以简单地将其从应用程序中删除,然后插入一个不同的对象作为其替换。这类似于解决现实世界中的机械问题。如果一个螺栓坏了,你要更换它,而不是整台机器。
java的对象

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注