OC语言@property @synthesize和id

一、@property @synthesize

这两个关键字是编译器特性,让xcode可以自动生成gettersetter的声明和实现。

(一)@property 

@property 关键字可以自动生成某个成员变量的settergetter方法的声明

@property int age;

编译时遇到这一行,则自动扩展成下面两句:

- (void)setAge:(int)age;

- (int)age;

(二)@synthesize

@synthesize关键字帮助生成成员变量的settergetter方法的实现。

语法:@synthesize age=_age;

相当于下面的代码:

- setAge:(int)age

_age=age;

- (int)age

Return _age;

(三)关键字的使用和使用注意

类的声明部分:

类的实现部分:

测试程序:

新版本中:

类的声明部分:

类的实现部分:

测试程序:

(1)在老式的代码中,@[email protected]  @[email protected]@implementation   @endxcode [email protected]@[email protected]

(2)@property int age;这句话完成了成员变量的方法的声明;方法的实现;)生成一个的成员变量。

这种方式生成的成员变量是private

Class isa;

} *id;

局限性:调用一个不存在的方法,编译器会马上报错。

时间: 2024-10-17 21:40:44

OC语言@property @synthesize和id的相关文章

「OC」@property @synthesize和id

一.@property @synthesize关键字 这两个关键字是编译器特性,让Xcode可以自动生成getter和setter. (一)@property 关键字 @property 关键字可以自动生成某个成员变量的setter和getter的声明 如:@property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@synthesize关键字 @synthesize关键字帮助生成成员变量的set

黑马程序员——OC语言@property、@synthesized与id

一.@property @synthesize关键字 注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现. (一)@property 关键字 @property 关键字可以自动生成某个成员变量的setter和getter方法的声明 @property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@synthesize关键字 @synthesize关键字帮助生

黑马程序员-OC的@property 和 @synthesize id

学习java的JDBC,成员变量的setter和getter,eclipse都能帮我们自动生成:当然xcode这款编译器也很强大,也能自动生成: 1:@property @property是写在类的声明中的,具体写法: @interface Person : NSObject { _age; } @property int age; // 这句话相当于下边的getter和setter,但是注意age没有'_',但是就是为有下划线的age生成的,这样方便了点语法的调用: // - (void)se

Objective-C语言-点语法和变量作用域[email protected] @synthesize和id

  一.点语法 (一)认识点语法 声明一个Person类: #import <Foundation/Foundation.h> @interface Person : NSObject { int _age;//默认为@protected } - (void)setAge:(int)age; - (int)age; @end Person类的实现: #import "Person.h" @implementation Person - (void)setAge:(int)a

黑 马 程 序 员_视频学习总结&lt;Objective-C&gt;----03 self、NSString、@property和@synthesize、id

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.self 1.谁调用了当前方法,self就代表谁.两种情况:self出现在对象方法里,self就代表对象:self出现在类方法里,self就代表类. 2.对象方法利用“self→成员变量名”访问当前对象内部成员变量. 3.[self 方法名]可以调用其它对象方法.类方法. 二.NSString 1.NSString简介:NSString是一

黑马程序员——oc语言学习心得—— 属性声明和赋值

黑马程序员——oc语言学习心得—— 属性声明和赋值 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,在oc中所有类继承与终极父类Object2,声明字符变量采用N是string  *_xxx 实例变量一般以下划线开头3,在oc中方法以+ -号区分 -号开头是实例方法或对象方法  +号开头是类方法  前置用对象调用 后者用类名调用4,在xcode4以后声明@property 不用在写@snysize  自动生成get.set方法5,属性

23-黑马程序员------OC 语言学习笔记---内存管理

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 对于面向对象的变成语言,程序需要不断地创建对象.初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法,随着程序的不断执行,程序再次创建了一些新的对象,而那些老的对象已经不会再被调用,也不

李洪强iOS开发之OC语言BLOCK和协议

OC语言BLOCK和协议 一.BOLCK (一)简介 BLOCK是什么? 苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行. BOLCK和函数的相似性: (1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样. 标识符 ^ (二)基本使用 (1)定义BLOCK变量 Int (^SumBlock)(int,int);//有参数,返回值类型为int Void (^MyBlock)()://无参数,返回值类型为空 (2)利用block封装代

21-黑马程序员------OC 语言学习笔记---点语法和作用域

1    合成存取方法为成员变量实现setter和getter方法,虽然并不难,但如果一个类中包含10个甚至更多的成员变量,为每个成员都编写setter.getter方法將是一件令人反胃的事情.OC语言提供了自动合成setter和getter方法,而且如果开发者需要自己控制某个setter和getter方法的实现,开发者依然可以提供setter和getter方法,这个由开发者自定义的setter和getter方法将会覆盖系统自动合成的setter和getter方法.系统自动合成setter和ge