A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

下面的代码是正确的,但是定义类,在interface中定义成员变量和在implementation中定义成员变量有什么区别?

#import <Foundation/Foundation.h>

@interface Person1 : NSObject
{
  @public
  NSString *name;
}
@end
@implementation Person1

@end

@interface  Person2: NSObject

@end
@implementation Person2
{
  @public
  NSString *name;
}

@end

int main(int argc, const char * argv[]) {
  @autoreleasepool {
   
    Person1 *p1 = [[Person1 alloc]init];
    Person2 *p2 = [[Person2 alloc]init];
   
    p1->name = @"小明";
    p2->name = @"小红";
    NSLog(@"%@",p1->name);
    NSLog(@"%@",p2->name);
  }
    return 0;
}

3 个回复

倒序浏览
我的理解是 : 在@interface 声明的属性可以让其子类继承,而另一个不可以。
回复 使用道具 举报
FFFF001 发表于 2016-6-22 18:35
我的理解是 : 在@interface 声明的属性可以让其子类继承,而另一个不可以。

谢谢你的回答,我测试过了,都可以继承。
回复 使用道具 举报
加油加油。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马