黑马程序员———OC学习第三天(@property和@synthesize关键字)

------- Android培训Java培训IOS培训.NET培训 期待与您交流! ----------

@property和@synthesize关键字



1、@property和@synthesize 的作用

  • @property 生成某个成员变量的setter和getter的声明
  • @synthesize 生成某个成员变量的setter和getter的实现

2、@property和@synthesize 的用法

@property 的用法: @property (成员变量类型) 成员变量名没有下划线;

//.......成员变量_age的setter和getter方法的声明

@property int age;

//........

@synthesize 的用法:@synthesize 对应property = 对应成员变量;

// ...成员变量_age的setter和getter方法的实现

@synthesize age = _age;

// .......

3、@property和@synthesize 的注意点

  • 使用@synthesize 时需注意等号后面对应成员变量,如果不写默认是不带下划线的成员变量

eg:

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    
    int _age;
    
    int age;
}

@property int age;
// 对象方法输出年龄
- (void)test;

@end

@implementation Person

@synthesize age;

// 对象方法test 输出年龄
- (void)test
{
    NSLog(@"_age=%d, age=%d", _age, age);
}

@end

int main()
{
    // 定义一个Person对象
    Person *p = [Person new];
    
    // 点语法
    p.age = 100;
    // 调用对象方法test
    [p test];
    
    return 0;
}
// 输出结果为:_age=0,age=100

  • 只使用@property关键字就能实现成员变量的声明和实现

eg:

/*
   定义一个Person类
   成员变量:年龄,身高,姓名

*/
@interface Person : NSObject
  // 只用@property
  @property int age;
  @property double height;
  @property NSString *name;

@end

@implementation Person

@end

int main()
{
   Person *p = [Person new];
   int personAge = p.age;
   return 0;
}

  • 使用@property 让编译器自动生成成员变量,成员变量的作用域为private
  • 使用@property关键字,如果手动生成了setter方法和getter方法的声明和实现,就不会自动生成成员变量了;如果只是手动生成了setter和getter方法的声明或者实现中的其中一个,那么编译器依然会自动生成成员变量

eg:

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property double height;

// 手动声明了_height的setter和getter方法
- (void)setHeight:(double)height;
- (double)height;

// 对象方法输出身高
- (void)test;

@end

@implementation Person

// 对象方法test 输出身高
- (void)test
{
    // 输出_height 没有报错,_height 没有手动生成
    NSLog(@" height=%f",  _height);
}

@end

int main()
{
    // 定义一个Person对象
    Person *p = [Person new];
    
    // 点语法
    p.height = 100;
    // 调用对象方法test
    [p test];

    return 0;
}
// 输出结果为:height=100.000000







内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支高频结构先验建模分支结合Transformer模块注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员工程师,尤其是对核磁共振图像超分辨率感兴趣的学者技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计与实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值