【翻译】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,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
安全 Java
Object取值转java对象
通过本文的介绍,我们了解了几种将 `Object`类型转换为Java对象的方法,包括强制类型转换、使用 `instanceof`检查类型和泛型方法等。此外,还探讨了在集合、反射和序列化等常见场景中的应用。掌握这些方法和技巧,有助于编写更健壮和类型安全的Java代码。
26 17
|
5天前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
29 11
|
1月前
|
存储 Java 程序员
Java的基础概念一
### Java编程基础简介 #### 一、注释 注释用于解释代码,不会参与编译和运行。Java支持三种注释: - **单行注释**:以 `//` 开头。 - **多行注释**:以 `/* ... */` 包围。 - **文档注释**:通常用于生成开发文档。 #### 二、关键字 关键字是被Java赋予特定含义的英文单词,全部小写,且在代码编辑器中有特殊颜色标记。常用的如 `class` 表示定义一个类。
Java的基础概念一
|
21天前
|
Java 数据安全/隐私保护
Java的基础概念(二)
本文介绍了Java编程语言中的运算符和表达式,涵盖算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符等。重点讲解了算术运算符的使用,如加减乘除取余,并强调了整数除法和取余的特殊性。同时,详细说明了隐式转换与强制转换的概念及应用场景,以及字符串和字符的拼接规则。通过多个案例演示了不同运算符的实际应用,包括数值拆分、自增自减、三元表达式的使用等。最后简要提及了运算符的优先级,指出小括号具有最高优先级。
|
1月前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
5月前
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
149 4
|
2月前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
68 1
|
3月前
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
152 20
|
4月前
|
监控 算法 Java
深入理解Java中的垃圾回收机制在Java编程中,垃圾回收(Garbage Collection, GC)是一个核心概念,它自动管理内存,帮助开发者避免内存泄漏和溢出问题。本文将探讨Java中的垃圾回收机制,包括其基本原理、不同类型的垃圾收集器以及如何调优垃圾回收性能。通过深入浅出的方式,让读者对Java的垃圾回收有一个全面的认识。
本文详细介绍了Java中的垃圾回收机制,从基本原理到不同类型垃圾收集器的工作原理,再到实际调优策略。通过通俗易懂的语言和条理清晰的解释,帮助读者更好地理解和应用Java的垃圾回收技术,从而编写出更高效、稳定的Java应用程序。