二十一、继承(四)@class命令
来源:互联网 发布:魔域灵药详细数据 编辑:程序博客网 时间:2024/06/06 18:26
现在 我们 可以 重新 创建 Rectangle这类物件了,新的Rectangle这类物件 不仅 包含了 宽 和 高,而且 也 包含了 位置。先 来看看 完整的程序 是 什么样的:
文件XY.h:
文件XY.m
文件Rectangle.h:
文件Rectangle.m:
文件main.m:
在这个程序当中 我 创建了 XY这类物件 用来表示 坐标系中的点。在Rectangle这类物件当中 我 创建了 一个XY *类型的变量location 来存储 长方形的位置,就像 这样:
根据 以往的知识,要对 某一个Rectangle类型物件的变量width、height 进行读 和 写的操作,我们 只需要 在.h 和 .m文件当中 分别 加入
和
这两行语句,编译器 就会 自动 生成 width、setWidth 和 height、setHeight这两对措施。如果 要对 某个Rectangle类型物件的变量location 进行读 和 写的操作,我们 就需要 自己 编写 location 和 setLocation这两项措施了。
文件Rectangle.h当中的
和 文件Rectangle.m当中的
正好 达到了 这样的目的。有了 location 和 setLocation这两项措施,我们 可以使用 简便方法 对某个Rectangle物件的变量location 进行 读 和 写的操作,就像 这样:
这 跟
的作用 是 一样的。
在Rectangle.h 和 Rectangle.m这两个文件当中,我 告诉了 编译器 location 可以存储 XY类型的物件,location这项措施 会传递回 一个XY类型的物件,setLocation这项措施的参数 是 XY类型的物件,但是 编译器 并不知道 XY 是 什么。于是 我 在文件Rectangle.h当中 添加了 这行语句:
这下子 编译器 就知道了 原来 XY 是 一类物件的名称。
在主程序当中,我 分别 创建了 myRectangle 和 myXY这两个物件,来代表 一个长方形 和 一个坐标系中的点。
这行语句 对 myXY这个物件 采取了 setX:andY:这项措施 并且 附带了 100 和 200 作为参数,从而 将 物件myXY所代表的坐标系中的点 设定为 (100,200)。
这行语句 将 myXY这个物件 存储 在物件myRectangle中的location这个变量当中。由于 myXY这个物件 代表 (100.200)这个点,而 location这个变量 又 代表 长方形myRectangle的位置,于是 刚刚这行语句 就是 将 myRectangle这个长方形的位置 设定为 (100.200)。
这行语句 完全 相当于
这行语句。
接下来的
分别 读取了 物件myRectangle中location这个物件的变量x 和 y的值(也就是 myRectangle这个长方形的位置的横坐标 和 纵坐标),并且 显示出来。其中
这两个表达式 同样 完全 相当于
和
运行 这个程序后,可以得到 这样的结果:
- 二十一、继承(四)@class命令
- java学习笔记(二十一)继承
- linux命令(二十一):find命令之xargs
- 【ife】任务二十一:基础JavaScript练习(四)
- ExtJs 入门教程二十一[继承:Extend]
- class类的继承和子类(二) python
- 【C++基础之二十一】菱形继承和虚继承
- 【C++基础之二十一】菱形继承和虚继承
- Zookeeper(二)四字命令
- zookeeper(二)四字命令
- 东软实训(二十一)
- 日拱一卒(二十一)
- 软件工程(二十一)
- 【十一】DOM(二)
- JavaScript学习笔记二十二:class继承
- PHP类实例教程(二十一):PHP类接口的继承
- Hinbernate继承映射为4张表注解版【不太理解】(二十一)
- 菜鸟学Andoid(二十一):Servlet的继承结构和修改Servlet模版
- 二十、继承(三)Point这类物件
- Android技术讲座(2):系统概述和学习之路
- Java的身份证号码工具类
- Java编程中“为了性能”尽量要做到的一些地方
- 整数输出到txt文件
- 二十一、继承(四)@class命令
- Cocos2d-x初入学堂(8)-->CCLabel菜单项
- hdu 2087 剪花布条
- Could not open registry key 'Software\JavaSoft\Java Runtime Environment'的解决办法
- listview 按数字大小排序
- 一些Linux小知识
- 二十二、继承(五)一种物件中每一个 都包含 另外一种物件
- Android中后台定时任务实现,即时数据同步问题思考!
- 快排到底有多快?元芳,你还看吗?