黑马程序员技术交流社区
标题:
这道题哪里有错,求解答
[打印本页]
作者:
眼瞳╄渲染繁华
时间:
2014-8-31 11:13
标题:
这道题哪里有错,求解答
这道题哪里有错?没有main函数
#import <Foundation/Foundation.h>
@interface Dog : Animal
{
int _age;
double _height;
}
@end
@implementation Dog
- (void)test1//这里可以有与父类同名的实现方法并不声明吗?
{
NSLog(@"test1----");
[super test2];
}
@end
@interface Animal : NSObject
{
int _age;
double _weight;
}
- (void)test1;
+ (void)test2;
@end
@implementation Animal
- (void)test1
{
NSLog(@"test1----");
}
+ (void)test2
{
NSLog(@"test2----");
}
@end
作者:
himym2005
时间:
2014-8-31 11:38
应该先声明父类,再声明子类,编译器是顺序执行的,要不找不到父类会报错。
#import <Foundation/Foundation.h>
@interface Animal : NSObject
{
int _age;
double _weight;
}
- (void)test1;
+ (void)test2;
@end
@implementation Animal
- (void)test1
{
NSLog(@"test1----");
}
+ (void)test2
{
NSLog(@"test2----");
}
@end
@interface Dog : Animal
{
int _age;
double _height;
}
@end
@implementation Dog
- (void)test1//这里可以有与父类同名的实现方法并不声明吗?
{
NSLog(@"test1----");
[super test2];
}
@end
另外之类的对象方法和类方法重写的时候不用声明,因为集成了父类,父类中有声明
作者:
王振宇351x
时间:
2014-8-31 14:09
你的错误是,子类拥有和父类完全一样的成员变量..
因为子类已经继承了父类,所以子类已经拥有了父类的成员变量.
当再写成员变量的话,就等于有了两份一样的成员变量.
所以,这是重复定义错误.
修改方法,就是将子类的两个成员变量去掉.
作者:
★彬★卍囧神
时间:
2014-8-31 18:38
父类提前面前
作者:
周易
时间:
2014-8-31 19:04
父类和子类有前后
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2