第04天OC语言(03):synthesize基本使用

  • 不要等到明天,明天太遥远,今天就行动。

#####须读:看完该文章你能做什么?

synthesize基本使用

#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

什么是方法的实现,setter、getter方法实现


#####一、本章笔记

 一.
 synthesize 是一个编译器指令,它可以简化 我们getter/setter方法的实现
 什么是实现:
 在声明后面写上大括号 就代表着实现
 1.@synthesize 后面告诉编译器, 需要实现那个 @property 生成的声明
 2.告诉 @synthesize ,  需要传入的值 赋值给谁 和返回谁的值给 调用者
 二.
 如果有两个
     {
         int _age;
         int _number;
     }
     @synthesize age = _number;
     那么到时候 访问的_age 是空的, 访问 _number才有值
三.
 如果在@synthesize 后面没有告诉系统 将传入的值赋值给谁, 系统默认会赋值给 和 @synthesize后面写的名称相同的成员变量 ---- @synthesize age;最后等于  @synthesize age = age;

#####二、code ######main.m

######main.m
#pragma mark 03-synthesize基本使用
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark - main函数
int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
    [p setAge:22];
//    NSLog(@"age = %i, p->age = %i",[p age],p->_age);
//    NSLog(@"_age = %i, _number = %i",p->_age,p->_number); // 0 , 22

    NSLog(@"_age = %i, age = %i",p->_age,p->age);

    return 0;
}

######Person

>>>.h
#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    @public
    int _age;
    int age;
    int _number;
}
@property int age;
@end

>>>.m
#import "Person.h"

@implementation Person
#pragma mark 1.synthesize 是什么 有什么用
/*
 synthesize 是一个编译器指令,它可以简化 我们getter/setter方法的实现
 
 什么是实现:
 在声明后面写上大括号 就代表着实现
 1.@synthesize 后面告诉编译器, 需要实现那个 @property 生成的声明
 2.告诉 @synthesize ,  需要传入的值 赋值给谁 和返回谁的值给 调用者
 
 - (void)setAge:(int)age
 {
    _number = age;
 }
 - (int)age
 {
    return _number;
 }
 

 */


#pragma mark 测试
// 如果在@synthesize 后面没有告诉系统 将传入的值赋值给谁, 系统默认会赋值给 和 @synthesize后面写的名称相同的成员变量 ---- @synthesize age;最后等于  @synthesize age = age;

//@synthesize age = _age;
//@synthesize age = _number;
@synthesize age;

#pragma mark 2.@synthesize 等同于什么
/*
// @synthesize age = _age; 等同于?
- (void)setAge:(int)age
{
    _age = age;
}
- (int)age
{
    return _age;
}
*/

@end

转载于:https://my.oschina.net/u/3561184/blog/1377178

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值