黑马程序员技术交流社区
标题:
ios基础框架总结,必看,不看后悔终生
[打印本页]
作者:
黑马中的小绵羊
时间:
2015-8-16 21:20
标题:
ios基础框架总结,必看,不看后悔终生
第一步:先创建类,类中有各个元素的属性
创建类的方法:@interface 类名(类名首字母大写,这是规范):NSobject
{
@public
此处写类的属性例如:in t a;
}
类方法的声明(其实就相当于类的声明)
@en d(记住千万不可忘记)
@implementation 类名
此处写类实现的方法(也就是函数实现的方法)
方法有多种:第一种:无参数无返回值类型 -(void) eat;
第二种:无参有返回值类型 -(int)eat:
第三种:有参无返回值类型 -(void)eat:(NSString*)foodName addSum :(int)num;
第四种:有参有返回值类型 -(int)eat:(NSString*)foodName addSum :(int)num;
第五种:对象作为参数类型 -(void)eat(Dog *)dog;
第六种 对象作为返回值类型
@en d
int main(){
1创建类的对象:Dog *p=[Dog new];
2对象调用无参方法:[p:方法名];
对象调用有参方法:[p:方法名:传递参数 andnum 传递参数];
调用对象作为参数的方法:[p1 eat:p2];
return 0;
}
下面附上经典案例:
设计一个”狗“类
1> 属性
* 颜色
* 速度(单位是m/s)
* 性别
* 体重(单位是kg)
2>行为
* 吃:每吃一次,体重增加0.5kg,输出吃完后的体重
* 吠(叫):输出所有的属性
* 跑:每吃一次,体重减少0.5kg,输出速度和跑完后的体重
* 比较颜色:跟别的狗比较颜色,如果一样,两个值做减法得零,返回NO(零值),不一样,
做减法得到非零值,返回YES(1)
* 比较速度:跟别的狗比较速度,返回速度差(自己的速度 - 其他狗的速度)
#import <Foundation/Foundation.h>
typedef enum {white,black,green}Color;
typedef enum {woman,nv}Sex;
@interface Dog:NSObject
{
@public
Color _color;
float _speed;
float _weight;
}
-(void)eat:(NSString*) foodName addNum:(int)num;
-(void)jiao;
-(void)run:(NSString*) foodName addNum:(int)num;
-(BOOL)compareColor:(Dog*) dog1;
-(int)compareSpeed:(Dog*)dog2;
@end;
@implementation Dog
-(void)eat:(NSString*) foodName addNum:(int)num{
_weight=_weight+0.5*num;
}
-(void)jiao{
NSLog(@"颜色:%u,速度:%f,体重:%f",_color,_speed,_weight);
}
-(void)run:(NSString*) foodName addNum:(int)num{
_weight=_weight-0.2*num;
NSLog(@"速度是:%f,体重是:%f",_speed,_weight);
}
-(BOOL)compareColor:(Dog*) dog1{
if(_color==dog1->_color){
return YES;
}else{
return NO;
}
return 0;
}
-(int)compareSpeed:(Dog*)dog2{
return _speed-dog2->_speed;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
Dog *p1=[Dog new];
p1->_weight=13;
p1->_color=white;
p1->_speed=9;
[p1 eat:@"大米" addNum:5];
[p1 run:@"麻辣汤" addNum:5];
[p1 jiao];
Dog *p2=[Dog new];
p2->_speed=34;
p2->_color=black;
p2->_weight=34;
BOOL isSameColor=[p2 compareColor:p1];
NSLog(@"isSameColor=%d",isSameColor);
int cha=[p2 compareSpeed:p1];
NSLog(@"速度差是:%d",cha);
}
return 0;
}
[/code]
return 0;
}
作者:
15132876050
时间:
2015-8-16 21:42
好的 收藏了
作者:
毛强
时间:
2015-8-17 21:41
谢谢,虽然学过这些
作者:
xiaoguang
时间:
2015-8-17 21:52
很不错嘛.
作者:
WPeng
时间:
2015-8-17 22:03
不错顶一下..
作者:
MEIMEIAA
时间:
2015-8-17 22:08
加油加油,我也学到这边了,巩固一下
作者:
GodLovenan
时间:
2015-8-18 17:05
这个是OC吗?
作者:
GodLovenan
时间:
2015-8-18 17:06
这个是OC吗? 不是C语言的把?
作者:
wdcew
时间:
2015-8-18 17:08
可以了咯!!!
作者:
nulifendou
时间:
2015-8-18 21:05
来巩固下基础
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2