Objective-C入门06:属性

 Objective-C入门06:属性



//  属性是描述类的特征

//  存在的目的 赋值   取值


在main函数里面

#import "Hero.h"

#import <Foundation/Foundation.h>

#import "Hero2.h"

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

    @autoreleasepool {    

//        不管存取值都用 .来存取;

       Hero2 * kaTe  = [ [Hero2 alloc ] init ];

        kaTe.blood = 1000 ;

       NSLog( @"卡特的血量是:%d" , kaTe.blood ) ;

        kaTe.name =@"卡特" ;

       NSLog( @"卡特的名字是:%@", kaTe.name ) ;

        kaTe.lv=1;


        

        Hero * jianSheng = [ [Heroalloc ] init ] ;

//        setter 方法 是位内部变量设置一个   赋值的

        [ jianSheng setLv : 20] ;

//        getter 方法  取值的

       NSLog( @" 英雄的等级 : %ld " , [  jianSheng lv ] ) ;



不用传参的   有返回值的函数

        - ( 返回值类型 )函数名

        {

              renturn  返回值

       }


有返回值的函数的意义:    有返回值函数  就相当与是  返回值类型的一个实际的值

 - ( int )aa

 {

    renturn  15

 }

aa这个函数就是 15这个 int 类型的数字


需要传参的 有返回值的函数

      - ( 返回值类型 )函数名:(参数类型)参数名

                            函数名:(参数类型)参数名

         {

           renturn  返回值

         }

 

 

    - ( int ) sumWithA :(inta

                            bb :(intb

     {

      renturn  返回值

       }

    

    }

   return 0;

}





Hero.h里面

#import <Foundation/Foundation.h>

@interface Hero : NSObject

{

   NSInteger  _lv ;

}


- (void )setLv : (NSUInteger)lv;


- (NSInteger )lv ;

@end



Hero.m里面

#import "Hero.h"

@implementation Hero

- (void )setLv : (NSUInteger)lv

{

   _lv = lv;

    NSLog(@"英雄的等级 : %ld" , _lv );

}


- ( NSInteger )lv

{

   return _lv ;

}

@end



Hero2.h里面

#import <Foundation/Foundation.h>

@interface Hero2 : NSObject

/*

{

    int _blood;

}

// 带参的函数 是希望从外部类得到一个参数

//settter方法是为了从外部类得到一个参数,赋值给内部变量 _blood(写入数值)

//如果写的时setter方法,函数名必须用set开头,后面必须有参数,系统才回认为它是一个setter函数。

//  公式     - (void)set变量名(首字母大写) : (变量的参数类型 )参数名;

- (void)setBlood : ( int )newBlood ;


//什么时候用返回值的函数?需要给别人一个东西的时候  就用有返回值的函数 这个有返回值的函数返回值类型是什么类型函数就可以做一个返回值类型的变量

//getter方法存在的意义 是为了取值(读取)

//getter方法的书写规范:函数名必须是内部变量的名字

//  公式        - (返回值类型 )需要访问的变量的变量名;

- ( int )blood;

*/


//@propertyt  帮咱们声明了  settergetter 方法

@property int blood ;

@propertyNSString * name ;

@property int lv ;



Hero2.m里面

#import "Hero2.h"

@implementation Hero2

/*

- (void)setBlood : ( int )newBlood

{

//    把从外部类传过来的值,赋值给内部变量

    _blood = newBlood ;

    NSLog( @"%d" , _blood ) ;

}


// getter  读取

- ( int )blood

{

//    为了把内部类的变量给调用的地方

    return  _blood ;

}

*/


//  @synthesize   帮我咱们实现了  settergetter 方法

//@synthesize blood ;   这句话也可以不用了

@end




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值