




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ 该代码在网上找的视频中的例子,感觉很适合类和对象分不清楚的同学参考,仅供学习分享,谢谢。代码已通过运行,下载或复制的注意格式问题哦!/ 创建一个Pointtest类,用属性x、y表示点的坐标位置,求两点之间的距离,使用两种方法:类方法和对象方法#import #import / 要使用到开方和求平方根两个函数,pow和sqrt,所以对该头文件进行声明/ 声明类的属性和方法interface Pointtest : NSObject double _x; / 设置x坐标 double _y; / 设置y坐标/ 设置x的setter和getter方法,基础较好的同学应该知道这是啥东西吧- (void)setX:(double)x;- (double)x;/ 设置y的setter和getter方法,基础较好的同学应该知道这是啥东西吧- (void)setY:(double)y;- (double)y;/ 设置同时获取x、y值,为什么还要设置一次呢?因为封装的思想:隐藏对象的属性和实现细节- (void)setX:(double)x andY:(double)y;/ 写一个对象方法,来计算该点对象与其他点对象的距离- (double)distanceWithOther:(Pointtest *)other;/写一个类方法,来计算2个点对象之间的距离+ (double)distanceBetweenPoint1:(Pointtest *)p1 andPoint2:(Pointtest *)p2;end/ 实现implementation Pointtest/ 设置x的setter和getter方法,基础较好的同学应该知道这是啥东西吧- (void)setX:(double)x/ 可以在这里添加判断语句或是其他算法来达到封装效果 _x = x;- (double)x return _x;/ 设置y的setter和getter方法,基础较好的同学应该知道这是啥东西吧- (void)setY:(double)y/ 可以在这里添加判断语句或是其他算法来达到封装效果 _y = y;- (double)y return _y;/ 设置同时获取x、y值,为什么还要设置一次呢?因为封装的思想:隐藏对象的属性和实现细节- (void)setX:(double)x andY:(double)y/ 直接使用创建对象本身的方法来调用设置,这样就不用管里面的方法是怎样实现的了,封装的目的就达到了 self setX:x; self setY:y;/ 写一个对象方法,来计算该点对象与其他点对象的距离- (double)distanceWithOther:(Pointtest *)other/ 两点间距离的计算公式:((x1-x2)平方 + (y1-y2)平方)平方根 double x1 = self x; double x2 = other x; double y1 = self y; double y2 = other y; double powX = x1-x2; double powY = y1-y2; double powSum = pow(powX,2)+pow(powY,2); return sqrt(powSum); / 这里写太细了 o.0/写一个类方法,来计算2个点对象之间的距离+ (double)distanceBetweenPoint1:(Pointtest *)p1 andPoint2:(Pointtest *)p2/ 这里理解很重要,这里是用对象方法实现的 return p1 distanceWithOther:p2;end/ 主函数int main()/ 创建一个点(13,10) Pointtest *d1 = Pointtest new; d1 setX:13 andY:10; / 不用单个的去设了/ 创建一个点(10,14) Pointtest *d2 = Pointtest new; d2 setX:10 andY:14;/ 调用对象方法 double distance1 = d1 distanceWithOther:d2; /调用类方法 double distance2 = Pointtest dista
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浦发银行九江市浔阳区2025秋招数据分析师笔试题及答案
- 光大银行天津市红桥区2025秋招笔试性格测试题专练及答案
- 招商银行天津市河东区2025秋招笔试性格测试题专练及答案
- 光大银行重庆市渝中区2025秋招笔试行测高频题及答案
- 民生银行长春市朝阳区2025秋招笔试专业知识题专练及答案
- 福建招商咨询方案公示
- 上海立信会计金融学院单招《物理》模拟试题(各地真题)附答案详解
- 2025安徽蚌埠竞先数据服务有限公司人才招聘笔试考试历年参考题附答案详解
- 2025云南云蒙生物科技有限公司招聘30人考试历年参考题附答案详解
- 中信银行吕梁市交城县2025秋招信息科技岗笔试题及答案
- 书法竖的写法
- 国际工程总承包合同范本介绍和评述课件
- 网络综合布线实用技术第3版任务3综合布线工程网络方案设计课件
- 电梯的基础知识培训讲义课件
- 我的家乡-美丽的余姚
- 急性胰腺炎 护理 常规课件
- 收益分成协议书
- 起重吊装安全施工方案(3篇)
- 现代物流设施与设备最全ppt完整版课件全套教学教程整本书电子教案
- 苗木供应实施方案及实施计划
- 七年级语文上册第2课济南的冬天阅读训练新人教版
评论
0/150
提交评论