黑马程序员技术交流社区
标题: OC-对象 类 方法 的 错题练习 [打印本页]
作者: Yip-Jun 时间: 2015-12-1 00:24
标题: OC-对象 类 方法 的 错题练习
1.对象方法类方法
#import <Foundation/Foundation.h>
@interface Person : NSObject
{ // ---> 如果类方法需要掉用实例变量 需要添加 @public
int _age;
}
- (void)test1;
+ (void)test2; // +(void)test2:(Person *)per;
@end
@implementation Person
- (void)test1
{
NSLog(@"调用了test1方法");
}
+ (void)test2 // +(void)test2:(Person *)per
{
[self test1]; // 不能用类名去调用对象方法 ---> [per test1];
NSLog(@"调用了test2方法-%d", _age); // per ->_age;
}
@end
int main()
{ // @autoreleasepool {
Person *p = [Person new];
[p test2]; // ---> [p test1];
[Person test1]; // ---> [Person test2];
} // 加 " return 0; }"
2.继承
#import <Foundation/Foundation.h>
@interface Dog : Animal
{
int _age;
double _height;
}
@end
@implementation Dog
- (void)test1
{
NSLog(@"test1----");
[super test2]; // 不能自己调用自己
}
@end
/* // 程序从上往下运行,Dog找不到父类Animal的定义,需调整顺序
@interface Animal : NSObject
{
int _age;
double _weight;
}
- (void)test1;
+ (void)test2;
@end
@implementation Animal
- (void)test1
{
NSLog(@"test1----");
}
+ (void)test2
{
NSLog(@"test2----");
}
@end
*/
作者: 649685603 时间: 2015-12-1 11:32
学习了,多谢了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |