iOS开发中子类指针指向父类指针

来源:互联网 发布:404什么意思网络用语 编辑:程序博客网 时间:2024/06/03 03:12

在iOS开发中我们知道父类指针可以指向子类对象,这是OC的多态。可以当我们将子类指针指向父类对象会发生什么呢?

代码:

LSString * str2 = [NSStringstringWithFormat:@"2"];

 NSLog(@"%@", str2);

LSString是继承自NSString的一个子类,当写出上面代码的时候会有一个警告:Incompatible pointer types initializing 'LSString *' with an expression of type 'NSString *'。这是因为str2指针类型和NSString *类型不相同,这是需要我们对后者进行一个强转,代码:

 // 子类指针指向父类需要进行强转

    LSString * str2 = (LSString *)[NSStringstringWithFormat:@"2"];

    NSLog(@"%@", str2);

这样就不会有警告了。




1 0
原创粉丝点击