@property的增强使用

#import <Foundation/Foundation.h>
@interface Person : NSObject
// @property 的增强
// xcode4.4之后,可以只使用@property 而不使用 @synthesize
// 声明和实现了 _age , _name的get和set方法
// 操作的是带有下划线的实例变量
// 如果我们是当前类,没有下划线的实例变量,则系统会帮我们生成
@property int age;          // 生成一个 int _age;(不能被子类继承和访问,是私有的变量,但是可以重写set方法,注意get方法和set方法在.m中可以手动实现,但是只能同时手动实现)
@property NSString *name;   // 生成一个NSString *_name;

@end

/*
 
 id obj2;
 obj2 = ani;
 [obj2 run];
 
 // NSObject 和 id 都可以指向对象
    NSObject 对象会进行变异时检查(需要强制类型转换)
    id不需要强制类型转换,id可以直接用
    编译器看到id以后,认为是动态类型,不再检查类型
 
    instancetype和id的异同
    1)相同点
    都可以作为方法的返回值
    
    2)不同点
    1. instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象
    2. instancetype只能作为返回值,不能像id那样作为参数
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值