博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC实例变量和属性-@synthesize与@property
阅读量:6124 次
发布时间:2019-06-21

本文共 1749 字,大约阅读时间需要 5 分钟。

Student.h

1 #import 
2 3 @interface Student : NSObject 4 { 5 // 实例变量命名 以 _开头,和系统命名规范一致; 6 7 //1:public的实例变量可以用 -> 方式访问; 8 @public 9 NSString *_publicName;10 //2:默认为protected 权限;子类可以继承;11 @protected12 NSString *_protectedName;13 14 //4:@property 使用系统 会加 _的实例变量,如果不加;15 float number; //这是一个实例变量 和系统 加的 _bumber是两个;用@synthesize number 把系统加的 _的 等于 当前的 number;16 }17 18 //3:只写一个 @property age;默认加上 getter,setter方法 和一个 实例变量 _age;19 @property(nonatomic,readwrite,assign)int age; //相当于加setter , getter , 并加实例变量 _age;20 21 22 //4:@property 与 @synthesize;23 @property(nonatomic,readwrite,assign)float number;24 25 26 - (void)sayHello;27 @end
View Code

Student.m

#import "Student.h"@implementation Student//4:@property 是方法的声明,@synthesize 是方法的实现;@synthesize number; //默认加的 _number实例变量会没有;变成了number;//@synthesize number = _number; //默认加的 _number实例变量存在;- (void)sayHello{    _protectedName = @"小明";    NSLog(@"%@ hello",_protectedName);    }
View Code

main.m

1 #import 
2 #import "Student.h" 3 4 int main(int argc, const char * argv[]) 5 { 6 7 Student *student = [[Student alloc]init]; 8 9 //1:实例变量 public 权限的可以用 -> 方法;10 student->_publicName = @"Steven";11 NSLog(@"%@",student->_publicName);12 13 //2:实例变量 protected,private只能在类内部使用;14 [student sayHello];15 16 //3:@property 属性 相当于定义了 getter,setter方法,就可以用对象在外部调用了;17 student.age = 18;18 NSLog(@"%d",student.age);19 20 //4: @property 是方法的声明,@synthesize 是方法的实现;21 student.number = 1001;22 NSLog(@"%f",student.number);23 24 [student release];25 26 27 28 return 0;29 }
View Code

 

转载于:https://www.cnblogs.com/cocoajin/archive/2013/05/16/3081683.html

你可能感兴趣的文章
IStorage
查看>>
选择排序
查看>>
Linux修改主机名【转】
查看>>
vue11 vue实例方法
查看>>
hdu-3401-Trade-单调队列优化的DP
查看>>
心理素质
查看>>
【machine translate】deep learning seq2seq
查看>>
数据结构-向量
查看>>
Java 7 可执行的 Nashorn,取代 Rhino
查看>>
Ubuntu 16.04中CPU轮流100%的问题解决
查看>>
【Python】内置函数
查看>>
TCGA学习1--下载level3 level4数据
查看>>
装修房水电验收标准,水电验收注意事项
查看>>
2014年8月25日,收藏家和杀手——面向对象的C++和C(一)
查看>>
iOS经常使用设计模式——单例模式
查看>>
activity生命周期
查看>>
bootstrap入门
查看>>
OpenStack二三事(1)
查看>>
Java 学习路线建议
查看>>
[自学AndroidStudio系列]第二篇章:高速上手AS小技巧其一
查看>>