《Android游戏开发详解》——第2章,第2.12节设置和访问对象的状态

2.12 设置和访问对象的状态
Android游戏开发详解
现在,我们可以访问一个Phone对象了。myPhone表示使用Phone类(class)创建的一个单个的Phone对象(object)。它是一个独立的实体,独立于我们将来可能使用蓝图(Phone类)创建的任何其他Phone对象。我们使用实例(instance)这个术语来描述这种现象。

为了更加具体地说明,让我们考虑一下,在工厂中批量生产智能手机的时候会发生什么情况。我们使用相同的蓝图来生产数以千计的设备,而且它们都是彼此独立的。它们可以有自己的属性和行为,这意味着,关闭一个设备不会影响到使用相同的蓝图生产的其他设备。与此非常相似,由单个的类而创建的每一个对象,都是该类的一个独立的实例(instance),并且接受各个变量的自己的副本,来描述对象的状态。这些变量叫作实例变量(instance variable)。

我们现在可以开始修改myPhone的状态并且调用其行为了。让我们先来为单个的Phone对象的状态指定一些初始值,如程序清单2.11所示(从第6行到第9行)。

程序清单2.11 World.java——更新后的版本

01 public class World {
02    
03    public static void main(String[] args) {
04        System.out.println("Hello, world!");
05        Phone myPhone = new Phone();
06        myPhone.poweredOn = true;
07        myPhone.playingMusic = false;
08        myPhone.phoneManufacturer = "Samsung";
09        myPhone.androidVersionNumber = 4.4;
10    }
11 }

注意一下,我们是如何访问属于Phone对象的实例变量的。要获取一个对象的特定的变量,使用点运算符。点运算符用来表示所有权。例如,myPhone.poweredOn表示属于myPhone对象的poweredOn变量。

现在已经为Phone对象的变量指定了一些初始值,myPhone是描述性数据的一个集合。如果某人访问了我们的myPhone对象,他通过打印myPhone的当前状态的值,就能够完全知道其状态了,如程序清单2.11所示(从第11行到第15行)。

程序清单2.12 World.java—更新后的版本

01 public class World {
02    
03    public static void main(String[] args) {
04        System.out.println("Hello, world!");
05        Phone myPhone = new Phone();
06        myPhone.poweredOn = true;
07        myPhone.playingMusic = false;
08        myPhone.phoneManufacturer = "Samsung";
09        myPhone.androidVersionNumber = 4.4;
10    
11        System.out.println("myPhone's state:");
12        System.out.println("Powered on: " + myPhone.poweredOn);
13        System.out.println("Playing music: " + myPhone.playingMusic);
14        System.out.println("Manufacturer: " + myPhone.phoneManufacturer);
15        System.out.println("Version: " + myPhone.androidVersionNumber);
16    }
17 }
再次运行该程序。应该会看到如下所示的输出。

Hello, world!
myPhone's state:
Powered on: true
Playing music: false
Manufacturer: Samsung
Version: 4.4

正如你所看到的,我们能够将有意义的数据组织到一个集合中,即一个Phone对象中,这个对象的名称是myPhone。myPhone现在是一个复杂的信息集合。我们将在后面的小节中介绍这一点如何有用。

时间: 2024-07-29 23:34:59

《Android游戏开发详解》——第2章,第2.12节设置和访问对象的状态的相关文章

《Android游戏开发详解》一2.18 使用Java API中的对象

2.18 使用Java API中的对象 Android游戏开发详解现在,让我们暂时从创建自己的类告一段落,来享受一下Java自带的现成的类.使用已有的编程语言,而不是自己创造一种编程语言,其好处在于你可以获取已有的代码,并且在自己的项目中实现它们.好在对于我们来说,Java类配备了内容广泛的文档,涉及它们所包含的变量.如何初始化这些变量,以及它们执行哪些行为,从而我们可以将这些类用于自己的程序,并且只关注它们特定于我们的项目的重要问题. 可以通过如下的链接访问Java SE7的完整文档:http

《Android游戏开发详解》一第2章 Java基础知识

第2章 Java基础知识 Android游戏开发详解第1章内容完全是成为Java程序员的准备工作.在本章中,你将编写自己的第一个Java程序(包括一款简单的游戏),并学习如何把游戏的角色.加血(power-up)以及其他实体表示为Java对象.

《Android游戏开发详解》——第2章,第2.2节设置开发机器

2.2 设置开发机器 Android游戏开发详解 在开始编写简单点的Java程序和构建令人兴奋的游戏之前,我们必须在自己的机器上安装一些软件.然而,这个过程有点枯燥且颇费时间,但是,为了让第一个程序开始运行,这些代价都是值得的. 2.2.1 安装Eclipse 我们将利用一个集成开发环境(Integrated Development Environment,IDE)来编写Java/Android应用程序.IDE是一种工具的名称,它能够帮助我们轻松地编写.构建和运行程序. 我们将要使用的IDE叫作

《Android游戏开发详解》——第1章,第1.9节训练到此结束

1.9 训练到此结束Android游戏开发详解如果你已经学到了这里,恭喜你!你已经完成了进入美丽的.复杂的并且偶尔令人沮丧的编程世界的第一步.但是,在编写一些Java代码之前,你还不能自称为一名Java程序员.因此,快打开你的计算机并且开始学习第2章,在那里,我们要构建一些Java程序了.

《Android游戏开发详解》——第2章,第2.8节对象的基础知识

2.8 对象的基础知识Android游戏开发详解我们已经应用了第1章中介绍过的概念来编写和运行一些非常简单的Java程序.接下来,我们将把注意力转向对象,它使得我们能够编写更加复杂和强大的程序. 什么是对象?以你看待现实世界中的物体的方式来思考Java对象,这么做是有帮助的.对象所拥有的属性,我们称之为状态(state)和行为(behavior). 让我们以手机为例子.你的手机拥有状态,它可能是黑色的,并且可能打开了电源开关.这些属性可以帮助我们描述手机以形成其状态.手机还会有行为.它可能能够播

《Android游戏开发详解》——第3章,第3.7节里程碑

3.7 里程碑Android游戏开发详解介绍完这个示例,我们也就结束了本书的第3章和第1部分.如果你一直在学习,那么应该已经了解了编程的基础知识,掌握了Java基础并且学习了高级的面向对象设计概念.Java游戏开发就在前面,它肯定是一个巨大的挑战甚至会带来更多的兴奋. 在我们继续学习之前,我想要提醒你,Java是一种庞大的编程语言.尽管我已经试图尽可能地向你介绍在开发Java和Android游戏的时候可能会遇到的所有概念,但我还是没办法公正地对待这门语言.如果你有兴趣学习Java的更多知识以及更

《Android游戏开发详解》——第2章,第2.1节面向对象编程

2.1 面向对象编程Android游戏开发详解Java是一种面向对象编程语言.在面向对象的范型中,我们以对象的形式来表示数据,以帮助我们形成概念并沟通思路.例如,在构建视频共享Web应用程序的时候,我们可能要创建一个User对象来表示每个用户账户(及其所有的数据,例如,用户名.密码.上传的视频等).使用一个Video对象来表示每一个上传的视频,其中的很多视频都组织到一个Playlist对象中. 考虑到整洁.健壮的代码更容易阅读和理解,面向对象编程允许我们将相关的数据组织到一起.为了了解这一思路,

《Android游戏开发详解》——第2章,第2.14节隐藏变量

2.14 隐藏变量Android游戏开发详解注意,到目前位置,我们能够以两种不同的方式来修改Phone对象的状态.我们能够使用点运算符直接访问其变量,并且分配显式的值:还能够使用Phone对象提供的行为来间接地修改Phone对象的状态. 如果能够直接深入到myPhone对象,取出其信息并修改,我们说对象的变量是暴露的.从现在开始,我们将禁止暴露变量,基于很多原因,暴露变量可能会有问题. 例如,如果某人试图给一个变量分配一个非法的(或者不符合逻辑的)值,会怎么样呢?如下的代码对Java程序来说可能

《Android游戏开发详解》——第2章,第2.6节构建一个简单的计算器程序

2.6 构建一个简单的计算器程序Android游戏开发详解现在,我们已经尝到了甜头,让我们回过头来看看第1章介绍过的一些概念,并且构建一个简单的计算器程序.让我们给出一些动手实践的指导,来构建一个新的Java程序.请记住如下的主要步骤. ① 创建一个新的Java项目(将其命名为SecondProject). ② 在src文件夹中创建一个新的类(将其命名为SimpleCalculator). ③ 创建一个main方法. 如果任何时候你碰到困难,应该参考前面的小节.一旦按照上面的步骤进行,应该会看到