《Android游戏开发详解》——第2章,第2.13节调用对象的行为

2.13 调用对象的行为
Android游戏开发详解
在前面的小节中,我们介绍了如何赋值和访问所创建的对象的状态。接下来,我们讨论方法,并且学习如何调用对象的行为。

调用方法也需要使用点运算符。我们使用点运算符来引用属于一个特定对象的具体的方法。在程序清单2.12的main方法的底部,添加如下所示的两行代码。

myPhone.togglePower();
myPhone.upgrade(4.5);

如果我们再回头来看看Phone类,会看到togglePower方法检查boolean poweredOn的当前值,并且对其取反(将ture变为false,将false变为true)。由于创建对象的时候,myPhone最初是打开的,我们期望myPhone现在关闭。我们还预测了myPhone的androidVersionNumber从4.4变为4.5。

为了测试这些,我们又一次打印出myPhone对象的状态,在main方法的底部添加一些打印语句,如程序清单2.13所示。

程序清单2.13 打印出myPhone的状态

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      myPhone.togglePower();
18      myPhone.upgrade(4.5);
19      
20      // include “\n” to skip a line when printing.
21      System.out.println("\nmyPhone's NEW state:");
22      System.out.println("Powered on: " + myPhone.poweredOn);
23      System.out.println("Playing music: " + myPhone.playingMusic);
24      System.out.println("Manufacturer: " + myPhone.phoneManufacturer);
25      System.out.println("Version: " + myPhone.androidVersionNumber);
26    }
27 }

相应的输出如下所示。

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

正如所预测那样,手机关闭了,并且其Android版本现在是4.5。我们能够调用myPhone行为来执行特定的操作,以修改myPhone的状态了。

时间: 2024-10-13 19:18:03

《Android游戏开发详解》——第2章,第2.13节调用对象的行为的相关文章

《Android游戏开发详解》一2.12 设置和访问对象的状态

2.12 设置和访问对象的状态 Android游戏开发详解现在,我们可以访问一个Phone对象了.myPhone表示使用Phone类(class)创建的一个单个的Phone对象(object).它是一个独立的实体,独立于我们将来可能使用蓝图(Phone类)创建的任何其他Phone对象.我们使用实例(instance)这个术语来描述这种现象. 为了更加具体地说明,让我们考虑一下,在工厂中批量生产智能手机的时候会发生什么情况.我们使用相同的蓝图来生产数以千计的设备,而且它们都是彼此独立的.它们可以有

《Android游戏开发详解》一2.11 创建新的对象变量

2.11 创建新的对象变量 Android游戏开发详解我们想要使用Phone类作为蓝图,创建一个新的Phone对象.为了做到这点,我们使用如下所示的语法. Phone myPhone = new Phone(); 使用我们前面用来创建基本类型变量相同的方式,来创建一个对象变量.首先声明对象变量的类型(Phone),然后指定一个名称(myPhone),最后赋值. 语法的不同之处在于最后一步.要创建一个新的Phone对象,我们必须使用Java的内建关键字new,并且声明我们想要用来创建Phone对象

《Android游戏开发详解》一2.16 区分类和对象

2.16 区分类和对象 Android游戏开发详解对我们来说,理解一个类和一个对象之间的区别是很重要的,因此,来看看这部分内容.对象只是数据的集合,它们包含了描述变量和方法的关系的一组数据.类是用来创建这些对象的蓝图. 为了说明这一点,我们假设你在玩乐高积木(你的年龄并不大,可以玩乐高).你找到一个说明手册并且开始构建太空飞船.说明手册包含了你构建太空飞船所需的所有信息:需要构建的机翼的数目,需要添加的大炮的数目等等.使用这个手册构建的每一个乐高模型,都是太空飞船,但是,手册本身不是飞船,它只是

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

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

《Android游戏开发详解》——第3章,第3.2节getter和setter

3.2 getter和setterAndroid游戏开发详解构造方法允许你在创建对象的时候初始化对象的实例变量,但是,它对于随后访问或修改这些值就帮不上什么忙了.此外,由于使用了private修饰符来隐藏变量,我们没有办法来直接完成这两项任务.实际上,如下所示的代码将会导致错误. // somewhere inside the World class... Coder c3 = new Coder("Mark", 30); String c3Name = c3.name; // can

《Android游戏开发详解》一3.2 getter和setter

3.2 getter和setter Android游戏开发详解构造方法允许你在创建对象的时候初始化对象的实例变量,但是,它对于随后访问或修改这些值就帮不上什么忙了.此外,由于使用了private修饰符来隐藏变量,我们没有办法来直接完成这两项任务.实际上,如下所示的代码将会导致错误. ... // somewhere inside the World class... Coder c3 = new Coder("Mark", 30); String c3Name = c3.name; /

《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的更多知识以及更