【翻译】The Java Tutorial中的Object概念

简介:
原文链接地址:

原文:

What Is an Object?

An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life. This lesson explains how state and behavior are represented within an object, introduces the concept of data encapsulation, and explains the benefits of designing your software in this manner.
翻译:
什么是对象?
    对象是与状态和行为有关的程序块。程序中的对象都经常被当作现实世界中的事物对象的虚拟模型,这些对象都是我们生活中的常见的事物。这节课程将会告诉你,在对象中属性和行为是怎样表现的,并介绍 数据封装 的概念,以及解释像这样做对于你的程序有什么好处。
    “对象”是理解面向对象技术(object-oriented technology)的关键。现在看看周围,你会找到很多现实世界中的对象:你的狗,你的桌子,你的电视机还有你的自行车。
 
       现实世界中的对象有两个特性:它们都有状态(state)和行为(behavior)。狗有自己的状态(名字、颜色品种、是否饥饿),有自己的行为(脱毛、取东西、摇尾巴)。自行车也有自己的状态(齿轮是否灵活、踏板的节奏、当前的速度),也有自己的行为(替换齿轮、替换踏板、刹车)。要按照面向对象设计程序最好的办法就是在现实世界中确定对象的状态和行为。
        现在花几分钟去观察现实世界中的对象,它们就在你的周围。对于每一个你看到的对象都对自己提两个问题:“在这个对象中可能的状态是什么?” 和 “这个对象可能会有什么样的行为?”。确定下来并且写下你所观察到的。正如你所做的,你会发现现实世界中的对象变化有多么复杂;你桌上的灯可能有两个状态(开着、关着),还有可能有两个行为(打开、关闭),但是你桌上的收音机也许还有另外的状态(开着、关着、当前的音量、当前的配置) 和行为 (打开,关闭、增加音量、降低音量、查找、扫描、音调)。你也许也注意到了这样的对象,依次,也会包括那样的对象。这些现实世界中的观察事物都能够被引入到面向对象的世界中。
       
        一个程序中的对象
        程序中的对象与现实世界中对象的概念相同:都由状态和相关的行为构成。对象以字段fields(程序中的变量)存储状态 和 通过方法methods(程序中的函数)揭示行为。方法控制对象的内在状态以及通过自己私有的机理为对象之间建立联系。隐藏内在状态和通过对象的方法,这些方法是被封装起来的,可以完成所有的交互。数据封装是面向对象程序设计的基本理念。
 
        考虑一下自行车,比如:
 
 
        自行车被想象为程序的一个对象
        通过归结的状态(当前速度、当前踏板的频率和当前齿轮)和为了改变状态所提供的方法,在其外也可以允许使用它来控制对象。打个比方,如果自行车有6个齿轮,通过一个改变齿轮的方法可能会丢弃一个或六个齿轮。
 
         将代码添加到私有的对象当中有这么几个好处:
1.模块性:
        针对一个对象的代码就不依赖于其他的对象代码。一旦创建,这个对象就很容易地传递到系统当中。
2.信息隐蔽性:
         通过与对象方法相结合,内在详细的执行信息就不会显露在外面了。
3.代码复用性:
         如果对象一旦存在(也许是有其他软件开发人员编写的),你就可以在你的项目中使用。这允许专家们去实现、测试和调试复杂的和特定的对象,这些对象只要你认为可行,你就可以添加到你的代码中去。
4.塞入和调试容易:
        如果有一个对象有问题,你可以很容易地从你的应用中祛除,并且可以用其他的对象代替。这类似于在现世界中确定机器的问题一样。如果门闩坏了,你就把它更换了,而不是更换整个机器。









本文转自 sundunjam 51CTO博客,原文链接:http://blog.51cto.com/sunspot/132438,如需转载请自行联系原作者
目录
相关文章
|
8天前
|
存储 SQL 安全
Java 安全性编程:基本概念与实战指南
【4月更文挑战第27天】在当今的软件开发领域,安全性编程是一个至关重要的方面。Java,作为广泛使用的编程语言之一,提供了多种机制来保护应用免受常见的安全威胁。本博客将探讨 Java 安全性编程的基本概念,并通过实际示例来展示如何实现这些安全措施。
16 3
|
5天前
|
Java 开发者
Java中的异常处理:从基本概念到最佳实践
【4月更文挑战第30天】 在Java编程中,异常处理是确保程序健壮性和稳定性的关键机制。本文将深入探讨Java异常处理的基本概念,包括异常的分类、异常的抛出与捕获,以及如何有效地使用异常来增强代码的可读性和可维护性。此外,我们还将讨论一些关于异常处理的最佳实践,以帮助开发者避免常见的陷阱和误区。
|
6天前
|
存储 Java 编译器
【Java探索之旅】数组概念与初始化指南:动静结合
【Java探索之旅】数组概念与初始化指南:动静结合
16 0
|
6天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
16 2
|
6天前
|
安全 Java 测试技术
利用Java反射机制提高Spring Boot的代码质量:概念与实战
【4月更文挑战第29天】Java反射机制提供了一种强大的方法来在运行时检查或修改类和对象的行为。在Spring Boot应用中,合理利用反射可以提高代码的灵活性和可维护性。本篇博客将探讨Java反射的核心概念,并展示如何通过反射提高Spring Boot项目的代码质量。
22 0
|
8天前
|
算法 Java API
Java中的多线程编程:概念、实现与挑战
【4月更文挑战第28天】 在现代软件开发中,多线程编程已成为提高应用性能和响应能力的关键工具。特别是在Java这种广泛使用的编程语言中,多线程不仅增加了程序的并发性,还提升了资源利用率和用户体验。然而,多线程编程也带来了设计复杂性、数据一致性和线程安全等一系列挑战。本文旨在探讨Java多线程的核心概念,展现其实现方式,并讨论在设计和开发过程中可能遇到的技术难题及其解决方案。
|
8天前
|
监控 Java API
Java 模块化设计:概念与实战应用
【4月更文挑战第27天】模块化设计是现代软件开发的关键,它帮助开发者构建可管理、可维护的大型系统。Java 平台的模块化支持始于 Java 9,引入了一种全新的模块系统。
17 3
|
8天前
|
设计模式 算法 Java
Java 设计模式:探索策略模式的概念和实战应用
【4月更文挑战第27天】策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在 Java 中,策略模式通过定义一系列的算法,并将每一个算法封装起来,并使它们可以互换,这样算法的变化不会影响到使用算法的客户。
16 1
|
8天前
|
Java
Java 事件驱动编程:概念、优势与实战示例
【4月更文挑战第27天】事件驱动编程是一种编程范式,其中程序的执行流程由外部事件的发生而触发或驱动。
16 0
|
8天前
|
Java 程序员
Java 异步编程:概念、优势与实战示例
【4月更文挑战第27天】在现代软件开发中,异步编程是一种重要的编程范式,特别适用于处理长时间运行的任务,如网络通信、文件操作等。
17 0