第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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/骑马上岸的人 让阳光狠狠地砸向我 砸向我 逼走我身上的腥气 这阴暗潮湿的牢 把我的命运锁住了十四年 我绕着围墙...
    骑马上岸的人阅读 3,021评论 9 34
  • 6:03起床,天气阴 昨天早睡早起,一天精神不错,顺利完成家长工作坊。晚上完全与家人一起,开了家庭会议,分配家务。...
    高广方阅读 1,651评论 0 2
  • “初候螳螂生;二候鹏始鸣;三候反舌无声。” 螳螂在上一年深秋产的卵因感受到阴气初生而破壳生出小螳螂;喜阴的伯劳鸟开...
    63c2ecf050b2阅读 3,602评论 5 3