与时俱进的IT

OC(五)属性

2018-07-29  本文已影响0人  社会主义顶梁鹿

属性:某种事物的特性

/*- (NSString *)name;

 setter:设置者

 - (void)setName:(NSString *)name;

 getter:获取者

 - (NSString *)name;

 setter:公式

 - (void)set属性名:(属性类型)形参名;

 getter:公式

 - (属性类型)属性名;

 //点语法(.) 又叫做属性

 可以通过给属性赋值,取值

 属性的定义公式

 在.h 文件里,@property 属性类型 属性名;

 (在最开始 .m文件@synthesize 表示实现属性方法,现在不用了)

 现在@property既包含声明也包含实现

 构造方法:init

 自定义构造方法:

 1.公式:

 - (id)initWith要初始的名字:(数据类型)形参名

 {

 self = [super init];

 if(self){

 }

 return self;

 }

 2.本质:有参数有返回值的方法,但是自定义有特殊意义,表示是一个创建对象的方法

 标示它有特殊意义的符号:

 (1)方法名:必须用initWith作为方法的开头,并且W大写

 (2)方法实现的公式 自定义构造函数 必须实现下面功能

     self = [super init];

     if(self){

     }

     return self;

 注意:1.  initWith  W必须大写

2. 不要忘记在.h文件中去声明、

 ?为什么要使用属性  ->正向传值->随时

 ?为什么要使用自定义构造方法 ->正向传值->只能在初始化一个对象的时候使用、可以在定义的同时赋值

 目的都是为了传值

 */

#import 

#import "Hero.h"

#import "Flower.h"

int main(int argc, const char * argv[]) {

 @autoreleasepool {

 Hero *zhuBaJie = [[Hero alloc]init];

        zhuBaJie.name = @"猪八戒";

        zhuBaJie.power = 100;

        zhuBaJie.blood = 10000;

        zhuBaJie.def = 300;

 NSLog(@"%@%d%d%d",zhuBaJie.name,zhuBaJie.power,zhuBaJie.blood,zhuBaJie.def);

 /*

 花类:品种 颜色 价格 气味

         3种花:1、玫瑰花  2、桂花  3、梅花

         */

 NSArray *flowerDatas = @[

 @{@"name":@"玫瑰",@"price":@99,@"color":@"红色",@"flavour":@"很香"},

 @{@"name":@"桂花",@"price":@90,@"color":@"黄色",@"flavour":@"漫天香"},

 @{@"name":@"梅花",@"price":@100,@"color":@"红色",@"flavour":@"不是很香"}];

 NSMutableArray *flowers = [NSMutableArray array];

 for (int i = 0; i

 Flower *flower = [[Flower alloc]init];

            flower.name = flowerDatas[i][@"name"];

            flower.price = [flowerDatas[i][@"price"] intValue];

            flower.flavour = flowerDatas[i][@"flavour"];

            flower.color = flowerDatas[i][@"color"];

[flowers addObject:flower];

        }

 for (Flower *flower inflowers) {

 NSLog(@"%@ %@ %@ %d",flower.name,flower.flavour,flower.color,flower.price);

        }

//        Hero *hero = [[Hero alloc]initWithPower:100];

//        Hero *hero2 = [[Hero alloc]initWithPower:1000];

 Hero *shuaiHero = [[Hero alloc]initWithName:@"高二狗" andPower:250 andBlood:250 andDef:250];

 NSLog(@"%@ %d %d %d",shuaiHero.name,shuaiHero.power,shuaiHero.blood,shuaiHero.def);

 /*

 花类:品种 颜色 价格 气味

         3种花:1、玫瑰花(2)(15)  2、桂花(2000)(5000)  3、梅花(100)(400)

         1、属性定义

         2、可以选择 在初始 花的时候使用自定义构造方法

         3、修改价格 可以使用属性 修改价格

         */

 Flower *meiGui = [[Flower alloc]initWithName:@"玫瑰花" andColor:@"红色" andPrice:2 andFlavour:@"淡香"];

 Flower *guiHua = [[Flower alloc]initWithName:@"桂花" andColor:@"白色" andPrice:2000 andFlavour:@"浓香"];

 Flower *meiHua = [[Flower alloc]initWithName:@"梅花" andColor:@"白色" andPrice:100 andFlavour:@"青草"];

上一篇下一篇

猜你喜欢

热点阅读