// // 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; }