美文网首页
子类对象之间的强转

子类对象之间的强转

作者: Adrift | 来源:发表于2016-04-27 21:09 被阅读24次
#import <Foundation/Foundation.h>

@interface Tom : NSObject
@property (nonatomic,copy) NSString *name;
@property (nonatomic) NSInteger age;
@end

@implementation Tom
- (instancetype)initWithName:(NSString *)name andAge:(NSInteger)age {
    if (self = [self init]) {
        self.name = name;
        self.age =age;
    }
    return self;
}
@end

@interface Jerry : NSObject
@property (nonatomic) NSString *name;
@property (nonatomic) NSInteger age;
@end

@implementation Jerry
- (instancetype)initWithName:(NSString *)name andAge:(NSInteger)age {
    if (self = [self init]) {
        self.name = name;
        self.age =age;
    }
    return self;
}
@end

@interface Test : NSObject
@end

@implementation Test
+ (void)showName:(Tom *)tom {
    NSLog(@"%@",tom.name);
}
+ (void)showNameWithKVC:(NSObject *)obj{
    NSString *name = [obj valueForKey:@"name"];
    NSLog(@"%@",name);
}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Tom *tom = [[Tom alloc]initWithName:@"Tom" andAge:10];
        Jerry *jerry = [[Jerry alloc]initWithName:@"Jerry" andAge:10];
        
        //可以通过强转的方式
        [Test showName:(Tom *)jerry];
        [Test showName:tom];
        
        //也可以通过KVC
        [Test showNameWithKVC:jerry];
        [Test showNameWithKVC:tom];
        
    }
    return 0;
}

本文原链接:子类对象之间的强转
--EOF--

相关文章

  • 子类对象之间的强转

    本文原链接:子类对象之间的强转--EOF--

  • .Net基础10

    1、里氏转换 1)、子类可以赋值给父类2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象 2、类型转...

  • 里氏转换

    里氏转换的特点 父类引用指向子类对象 如果父类引用指向的是子类对象,那么可以将这个父类强转为子类对象 将父类强转为...

  • Java 父类与子类之间的强转

  • 父类强转子类,子类强转父类

    结论: 根据 LSP : 里氏代换原则(Liskov Substitution Principle)父类出现的地方...

  • Java一阶段常用知识点

    1.上转型对象:父类声明,子类实例化的对象称为上转型对象。 使用规则: 上转对象不能操作子类新增的成员变量,失掉...

  • C#基础第十天(面向对象)

    1、里氏转换 1.子类可以赋值给父类 2.如果父类中装的是子类的对象,那么可以将这个父类强转为子类对象。 2、 子...

  • iOS9新特性之泛型 和__kindof

    泛型:限制类型 __covariant(协变):用于泛型数据强转类型,可以向上强转,子类 可以转成 父类__con...

  • java 继承 子类强转父类 父类强转子类

    Java 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法...

  • Java自学-泛型 泛型转型

    Java 中的子类泛型转型成父类泛型 步骤 1 : 对象转型 根据面向对象学习的知识,子类转父类 是一定可以成功的...

网友评论

      本文标题:子类对象之间的强转

      本文链接:https://www.haomeiwen.com/subject/rxgcrttx.html