OC对象:封装、继承、多态的使用举例一.doc_第1页
OC对象:封装、继承、多态的使用举例一.doc_第2页
OC对象:封装、继承、多态的使用举例一.doc_第3页
OC对象:封装、继承、多态的使用举例一.doc_第4页
OC对象:封装、继承、多态的使用举例一.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/ 该代码在网上找的视频中的例子,感觉很适合类和对象分不清楚的同学参考,仅供学习分享,谢谢。代码已通过运行,下载或复制的注意格式问题哦!/ 创建一个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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论