




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ 该代码在网上找的视频中的例子,感觉很适合类和对象分不清楚的同学参考,仅供学习分享,谢谢。代码已通过运行,下载或复制的注意格式问题哦!/ 创建一个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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土表面处理与装饰技术方案
- 城市照明设施联网管理方案
- 申通快递运输合同
- 广东省佛山市禅城区2024-2025学年高二上学期第二次月考语文考题及答案
- 室外P10全彩色LED显示屏设计施工组织设计
- 猪场租赁与养殖废弃物处理设施建设与维护合同
- 离婚协议:子女监护权、教育资助及财产分配模板
- 停薪留职期间员工薪酬及福利调整及权益保障服务协议
- 住宅小区地下停车场地使用权转让合同
- 离婚赔偿协议范本:财产分割与子女就业支持协议
- 2025广东广州市花都区招聘社区专职工作人员50人考试参考题库及答案解析
- 2025四川蜀道养护集团有限公司招聘15人考试参考题库及答案解析
- 2025年秋季上饶银行招聘考试参考题库及答案解析
- 2025至2030中国汽车模塑件行业项目调研及市场前景预测评估报告
- 股权转让担保责任及权益保护合同
- 1 学习伴我成长(教学设计)-2024-2025学年统编版(2024)道德与法治三年级上册
- 自动控制原理课件第九章状态空间分析法
- 2025年安全工程师《安全生产管理》考前模拟卷(一)
- 《信息系统安全》课程教学大纲
- 2024年青海省行政执法资格考试备考题库及答案(题型)
- 2025-2026学年第一学期校园“1530”安全教育记录表
评论
0/150
提交评论