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

本文共 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

你可能感兴趣的文章
HttpSession接口中的方法(Jsp中的session类的用法)
查看>>
「镁客早报」AI可预测心脏病人死亡时间;机器人开始在美国送外卖
查看>>
MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
查看>>
物联网全面升级,十年内推动工业进入智能化新阶段
查看>>
spring-通过ListFactory注入List
查看>>
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>
SQL Server 性能调优(性能基线)
查看>>
uva 10801 - Lift Hopping(最短路Dijkstra)
查看>>
[Java Web]servlet/filter/listener/interceptor区别与联系
查看>>
POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
查看>>
从零开始学MVC3——创建项目
查看>>
CentOS 7 巨大变动之 firewalld 取代 iptables
查看>>
延时任务和定时任务
查看>>
linux下的权限问题
查看>>
教你如何使用Flutter和原生App混合开发
查看>>
Spring Boot 整合redis
查看>>
CSS hover改变背景图片过渡动画生硬
查看>>
JDBC(三)数据库连接和数据增删改查
查看>>
淘宝应对"双11"的技术架构分析
查看>>