A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一直子类调父类有些问题
#import <Foundation/Foundation.h>
@interface Animal : NSObject
- (void)test1;
- (void)test2;
- (void)test3;
@end
@implementation Animal
- (void)test1
{
    NSLog(@"Animal-test1");
}
- (void)test2
{
    NSLog(@"Animal-test2");
}
@end
@interface Dog : Animal
@end

@implementation Dog
- (void)test1
{
    NSLog(@"Dog-test1");
}
- (void)test3
{
    NSLog(@"Dog-test3");
}
@end
int main()
{
    Dog *dog = [Dog new];
    [dog test1];//Dog-test1
    [dog test2];//dog没有test2方法实现可以调用父类test2方法吗?
    [dog test3];//Dog-test3
    return 0;
}

2 个回复

倒序浏览
就是为了证明,当子类没有该方法的时候,就用父类的方法.  
回复 使用道具 举报
子类可以拥有父类中的所有成员变量和方法。程序在调用子类里面没有的方法时,会去父类中找。

子类重新实现父类中的某个方法,覆盖父类以前的做法。
[dog test2]; // Animal-test2
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马