面向对象三大特性-作业1-super使用方法

1.对象方法类方法
#import <Foundation/Foundation.h>
@interface Person : NSObject
{

    int _age;
}
- (void)test1;
+ (void)test2;
@end

@implementation Person
- (void)test1
{
    NSLog(@"调用了test1方法");
}

+ (void)test2
{
    // 在类方法中,self代表的是类。不能用类调用对象方法test1
    // [self test1];
    // 类方法中不能访问成员变量
    // NSLog(@"调用了test2方法-%d", _age);
}
@end

int main()
{
    Person *p = [Person new];
    // 对象不能调用类方法
    // [p test2];
    
    // 类不能调用对象方法
    // [Person test1];
}

// 4处错误

2.继承
#import <Foundation/Foundation.h>

// 父类要声明在子类的前面
@interface Animal : NSObject
{
    int _age;
    double _weight;
}
- (void)test1;
+ (void)test2;
@end

@interface Dog : Animal
{
    // 子类不能拥有和父类一样的成员变量
    // int _age;
    double _height;
}

@end

@implementation Dog
- (void)test1
{
    NSLog(@"test1----");
    // 这里的super是用来调用父类对象方法的,而test2是个类方法
    // [super test2];
}
@end

@implementation Animal
- (void)test1
{
    NSLog(@"test1----");
}
+ (void)test2
{
    NSLog(@"test2----");
}
@end
// 3处错误

  

转载于:https://www.cnblogs.com/huimotuo/p/4458201.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值