//
// Person.h
#import <Foundation/Foundation.h>
/*
@public:所有类访问
@private:本类访问
@protected:本类子类,默认情况下所有的实例变量都是protected
@package:包范围,框架范围子类。
实例变量修饰符作用域: 从出现的位置开始, 一直到下一个修饰符出现,如果没有遇到下一个实例变量修饰符, 那么就会修饰后面所有的实例变量
*/
@interface Person : NSObject
{
@public
int _age;
@private
double _height;
@protected
double _weight;
@package
NSString *_name;
NSString *_tel;
NSString *_email;
}
@end
//
// Person.m
#import "Person.h"
@implementation Person
- (void)test
{
NSLog(@"%f", _weight);
}
@end
//
// Student.h
#import <Foundation/Foundation.h>
#import "Person.h"
@interface Student : Person
@end
//
// Student.m
#import "Student.h"
@implementation Student
- (void)test
{
NSLog(@"%@", _name);
}
@end
//
// main.m
// 实例变量修饰符
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Student.h"
int main(int argc, const char * argv[]) {
Person *p = [Person new];
// p->_age = 30;
// p->_height = 1.75;
// p->_weight = 60.0;
// p->_name = @"lnj";
Student *stu = [Student new];
NSLog(@"-----");
return 0;
}