黑马程序员技术交流社区

标题: 定义类,在interface中定义成员变量和在implementation中定义成员变量有什么区别? [打印本页]

作者: SSIrreplaceable    时间: 2016-6-22 16:32
标题: 定义类,在interface中定义成员变量和在implementation中定义成员变量有什么区别?
下面的代码是正确的,但是定义类,在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;
}

作者: FFFF001    时间: 2016-6-22 18:35
我的理解是 : 在@interface 声明的属性可以让其子类继承,而另一个不可以。
作者: SSIrreplaceable    时间: 2016-6-22 20:33
FFFF001 发表于 2016-6-22 18:35
我的理解是 : 在@interface 声明的属性可以让其子类继承,而另一个不可以。

谢谢你的回答,我测试过了,都可以继承。
作者: sc33370    时间: 2016-6-22 20:58
加油加油。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2