Objective-C重写具有2个参数的方法
B.h类Objective-C重写具有2个参数的方法,objective-c,overriding,Objective C,Overriding,B.h类 @interface ClassB : rndvzViewController { int sum, num1, num2; } -(void)sumPrint; -(int)addNum1:(int)_num1 andNum2:(int)_num2; B.m类 -(int)addNum1:(int)_num1 andNum2:(int)_num2 { num1 = _num1; num2 = _num2; return sum = num1 +
@interface ClassB : rndvzViewController {
int sum, num1, num2;
}
-(void)sumPrint;
-(int)addNum1:(int)_num1 andNum2:(int)_num2;
B.m类
-(int)addNum1:(int)_num1 andNum2:(int)_num2
{
num1 = _num1;
num2 = _num2;
return sum = num1 + num2;
}
-(void)sumPrint
{
NSLog(@"%d", sum);
}
C.h类
@interface ClassC : ClassB
@end
C.m类
-(int)addNum1:(int)_num1 andNum2:(int)_num2
{
//[self addNum1:num1 andNum2:num2];
int interest = sum*.05;
return interest;
}
调用方法:
ClassB* classB = [[ClassB alloc] init];
ClassC* classC = [[ClassC alloc] init];
[classB addNum1:12 andNum2:12];
classB.sumPrint;
//[classC addNum1:12 andNum2:12];
classC.sumPrint;
输出:
2014-09-09 14:07:48.919甲级[38418:60b]24
2014-09-09 14:07:48.919 A类[38418:60b]0
我做错了什么,为什么classC.sumPrint返回0,我希望C类打印B*类利息值的总和 这是非常基本的面向对象的东西。不完全是Obj-C 无论如何,如果希望C中的
addNum1:andNum2:
方法首先在B中运行该方法,然后像这样创建它
- (int)addNum1:(int)_num1 andNum2:(int)_num2
{
return [super addNum1:_num1 andNum2:_num2] * 0.5;
}
虽然它有点笨重,而且命名约定已经关闭,我不会以这种方式存储数据和其他很多东西。但这将满足您的需要。这是非常基本的面向对象编程。不完全是Obj-C 无论如何,如果希望C中的
addNum1:andNum2:
方法首先在B中运行该方法,然后像这样创建它
- (int)addNum1:(int)_num1 andNum2:(int)_num2
{
return [super addNum1:_num1 andNum2:_num2] * 0.5;
}
虽然它有点笨重,而且命名约定已经关闭,我不会以这种方式存储数据和其他很多东西。但这将满足您的需要。这是非常基本的面向对象编程。不完全是Obj-C 无论如何,如果希望C中的
addNum1:andNum2:
方法首先在B中运行该方法,然后像这样创建它
- (int)addNum1:(int)_num1 andNum2:(int)_num2
{
return [super addNum1:_num1 andNum2:_num2] * 0.5;
}
虽然它有点笨重,而且命名约定已经关闭,我不会以这种方式存储数据和其他很多东西。但这将满足您的需要。这是非常基本的面向对象编程。不完全是Obj-C 无论如何,如果希望C中的
addNum1:andNum2:
方法首先在B中运行该方法,然后像这样创建它
- (int)addNum1:(int)_num1 andNum2:(int)_num2
{
return [super addNum1:_num1 andNum2:_num2] * 0.5;
}
虽然它有点笨重,而且命名约定已经关闭,我不会以这种方式存储数据和其他很多东西。但这会满足你的需要。@suisied不道歉:)只是指出一些要看的东西。@suisied不道歉:)只是指出一些要看的东西。@suisied不道歉:)只是指出一些要看的东西。@suisied不道歉:)只是指出一些要看的东西。