【译】Java官方教程:何为对象?

栏目: 后端 · 前端 · 发布时间: 5年前

内容简介:原文地址:对象是理解面向对象技术的关键。环顾四周,你会发现很多现实世界中的对象:小狗,桌子,电视机,自行车。 现实世界中的对象具有两个特征:它们都拥有状态和行为。小狗具体状态(名字,毛色,品种,饥饿状况)和行为(吠叫,挑逗,摇尾巴)。自行车也拥有状态(当前的齿轮,当前的速度)和行为(换齿轮,刹车,提速)。通过识别真实对象的状态和行为来学习面向对象编程不失为一种很好的方法。现在就花一分钟观察一下你周围的现实世界,对于你看的到所有对象,问自己两个问题:这个对象可能处于什么状态?这个对象可能执行什么行为。一定要写

原文地址: docs.oracle.com/javase/tuto…

对象是理解面向对象技术的关键。环顾四周,你会发现很多现实世界中的对象:小狗,桌子,电视机,自行车。 现实世界中的对象具有两个特征:它们都拥有状态和行为。小狗具体状态(名字,毛色,品种,饥饿状况)和行为(吠叫,挑逗,摇尾巴)。自行车也拥有状态(当前的齿轮,当前的速度)和行为(换齿轮,刹车,提速)。通过识别真实对象的状态和行为来学习面向对象编程不失为一种很好的方法。

现在就花一分钟观察一下你周围的现实世界,对于你看的到所有对象,问自己两个问题:这个对象可能处于什么状态?这个对象可能执行什么行为。一定要写下你的观察结果。你会注意到现实世界中的对象是非常复杂的;你的桌灯可能仅有两种状态(开和关)和两种行为(开灯和关灯),但是你的桌面收音机可能有更多的状态(开、关、当前音量、当前频段)和行为(开机,关机,增大音量,减小音量,调频等等)。你还可能注意到,有些对象甚至还包含其他对象。将这些现实世界的观察都转化为面向对象编程的世界。

【译】Java官方教程:何为对象?

软件对象在概念上类似于现实世界中的对象:它们都由状态和相关的行为组成。一个对象将它自身的状态存储在字段(field)中(在一些语言中称之为变量),并通过方法公开其方法(一些语言中称之为函数)。

方法操作对象的内部状态,并作为对象到对象通信的主要机制。隐藏内部状态并要求所有交互都通过对象的方法来执行,这就是所谓的数据封装--面向对象编程的基本原则 举个关于自行车的例子:

【译】Java官方教程:何为对象?

通过指定状态(当前速度、当前齿轮型号等)并提供更改该状态的方法,对象仍然控制着外部世界如何使用它。举个例子:如果自行车仅有6个齿轮,改变齿轮的方法将拒绝任何小于1或者大于6的值。

将代码捆绑到单个软件对象中提供了许多好处,其中包括:

  • 模块性:对象的源代码可以独立于其他对象的源代码来编写和维护,一旦创建了对象,就可以在系统中轻松地传递对象
  • 封装性:通过只与对象的方法交互,其内部实现的细节对外部世界仍然是隐藏的
  • 代码易复用:如果已经存在一个对象(可能是其它开发人员编写的),则可以在你自己的程序中使用它。 这允许技术专家实现/测试/调试复杂的,特定任务的对象,然后您可以信任这些对象在您自己的代码中运行
  • 插件化并易于调试:如果某个特定对象出现问题,你可以方便的在应用中移除并用另外的对象来替代。这类似于解决现实世界中的机械问题,如果一个螺栓坏了,你仅需要更换螺栓,而不是整个机器

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

赛博人

赛博人

[美]约翰·苏勒尔 / 刘淑华、张海会 / 中信出版集团 / 2018-7 / 88.00

随着数字时代的飞速发展,网络空间正在深深影响着我们每个人的思想、感受和网络行为,其对我们的影响甚至比在现实生活中更大。为全面解析人类在网络空间中的感知、感觉、思维以及行为方式,帮助我们应对生活中面临的各种挑战,促进个人成长和改善心理健康,网络心理学专家和学科奠基人约翰·R.苏勒尔,根据20多年在不同网络环境里进行参与-观察式的实地调查所获得的成果,综合运用了行为心理学、认知心理学、人本主义心理学和......一起来看看 《赛博人》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码