开发者社区> 异步社区> 正文

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

简介:
+关注继续查看

本节书摘来自异步社区《Android游戏开发详解》一书中的第2章,第2.13节调用对象的行为,作者 【美】Jonathan S. Harbour,更多章节内容可以访问云栖社区“异步社区”公众号查看

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的状态了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )
【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )
28 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
35 0
【Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 中的系统调用示例 )
【Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 中的系统调用示例 )
36 0
Android 开发中的代码片段(2)复制对象之间的属性值
前言 开发中会遇到这样的一个情况,我们得到一个dto对象,里面有几十个属性值,需要将这几十个属性值的N个通过VO传输另外一个地方,一般我们的做法是: 创建VO类,new vo() 对象,通过vo.set(dto.get)的方式不断的设置值。
915 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )
22 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
54 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载