在初步学习OC之后迎来了一道 难度较高的题目,计算两个圆是否相交。
这道题和之前那些编程改错啥的一比真的难度上升很多(对我来说),要先设置Point2D类 然后 再设置Circle类 组合圆心类
说实话这题在没看MJ老师点评之前 自己没法独立完成 我只做到了 程序无错误但是 运行结果就是0 那些参数也都是0也不知道哪错了。只好看了点评的视频才知道是那些对象没创建里面都是空 你就往里面赋值赋不进去啊!貌似是经典错误。。。
然后MJ老师在后面讲到了Xcode 的高级功能 立马把文件转了高级功能 真的比以前CC -C啥的犀利多了。
这是我做的代码 可以运行但是可能有些地方格式或用法不完善还请大神指正
--------------------------------------------------
Point2D.h 圆心类声明
// Point2D.h
// 11-计算圆是否相交
//
// Created by 董 尚先 on 14-9-30.
// Copyright (c) 2014年 dsx. All rights reserved.
//
/*
5.设计一个类Point2D,用来表示二维平面中某个点
1> 属性
* double x
* double y
2> 方法
* 属性相应的set和get方法
* 设计一个对象方法同时设置x和y
* 设计一个对象方法计算跟其他点的距离
* 设计一个类方法计算两个点之间的距离
3> 提示
* C语言的math.h中有个函数:double pow(double n, double m);计算n的m次方
* C语言的math.h中有个函数:double sqrt(double n);计算根号n的值(对n进行开根)
*/
#import <Foundation/Foundation.h>
@interface Point2D :NSObject
{
// 成员变量
double _x;
double _y;
}
//x和y的setter and getter
- (void)setX:(double)x;
- (double)x;
- (void)setY:(double)y;
- (double)y;
- (void)YQsetX:(double)x andY:(double)y;// 同时设置x和y
- (double)DeltaDistanceWithOther:(Point2D *)other;// 对象方法计算两点距离
+ (double)DeltaDistancePoint1:(Point2D *)p1 andPoint2:(Point2D *)p2;// 类方法计算两点距离
@end
//
// Point2D.m
// 11-计算圆是否相交
//
// Created by 董 尚先 on 14-9-30.
// Copyright (c) 2014年 dsx. All rights reserved.
//
#import "Point2D.h"
#import <math.h>
@implementation Point2D
- (void)setX:(double)x
{
_x = x;
}
- (double)x;
{
return _x;
}
- (void)setY:(double)y
{
_y = y;
}
- (double)y;
{
return _y;
}
// 同时设置x和y
- (void)YQsetX:(double)x andY:(double)y
{
[selfsetX:x];
[selfsetY:y];
}
// 对象方法计算两点距离
- (double)DeltaDistanceWithOther:(Point2D *)other
{
//