• OC-多态


    1.多态:多种形态

    1> 没有继承就没有多态

    2> 代码体现:父类类型指针指向子类对象

    eg:

    #import <Foundation.Foundation.h>
    
    @interface Animal : NSObject
    - (void)eat;
    @end
    
    @implementation Animal
    - (void)eat
    {
        NSlog(@"动物吃东西");
    }
    @end
    
    @interface Dog : Animal
    - (void)eat;
    @end
    
    @implementation Dog
    - (void)eat
    {
        NSlog(@"Dog吃东西");
    }
    @end
    
    int main()
    {
        //多种形态
        Dog *d = [Dog new];// Dog类型
        
        //多态;父类指针指向子类对象
        Animal *a = [Dog new];
        
        [a eat];//调用方法时,检测对象的真实类型
    
        rerurn 0;
    }
    
    

    2.优缺点
    1> 好处:如果函数方法的参数类型使用的父类类型,可以传入子类和父类对象

    2> 局限性:父类类型变量不能够直接调用子类特有的方法(编译过程会有警告)。必须强转为子类类型便后后,才能够直接调用子类特有的方法。

  • 相关阅读:
    MongoDb
    js暴露内部方法属性等
    JS闭包
    k8s设计模式
    scrum
    死锁
    Linux下安装php 扩展fileinfo
    linux中whereis、which、find、location的区别和用法
    Linux 命令学习记录
    windows 下 redis 的安装及使用
  • 原文地址:https://www.cnblogs.com/wlios/p/4631876.html
Copyright © 2020-2023  润新知