• OC基础:继承.初始化方法,便利构造器 分类: ios学习 OC 2015-06-16 19:27 84人阅读 评论(0) 收藏


    继承:

    1.单向继承,一个类只能有一个父类,一个父类可以有多个子类.

    2.单向继承,基类(根类)是OSObject

    3.子类可以继承父类的属性和方法


    当父类的方法不满足子类的需求时,子类可以重写父类的方法,重写父类的方法,在子类中不需要再次声明.

    1.完全重写

    2.部分重写   使用super


    建立继承关系之后,子类可以继承父类的:

    1.实例变量,@public@protected修饰情况之下

    2.公开的方法

    一个方法如果在.h中声明了,那么这个方法就是公开的方法,如果没有声明,则是私有的.

    OC中没有绝对私有的方法.


    子类调用方法的过程:

    先在本类中寻找方法,如果找到就直接调用,如果没有找到就在其父类中寻找,如果在父类中也没有找到,就继续其次向上寻找(父类的父类),直到找到为止.

    如果找不到就抛出异常,引起crash.


    对象对对象可以赋值,对象就是指针.


    自定义初始化方法不需要在.h文件中声明.因为是重写了该方法.




    遍历构造器一定是一个类方法

    返回值类型(id,instancetype)



    自定义初始化方法:初始化+赋值.

    便利构造器:开辟空间+初始化+赋值.


    自定义初始化方法:

    -(id)initWithColor:(NSString *)color

                 price:(NSString *)price{

        if (self=[super init]) {

            _price = price;

            _color = color;

        }

        return self;

    }

    便利构造器:

    +(id)appleWithColor:(NSString *)color

                  price:(NSString *)price{

        Apple *apple=[[Apple alloc]initWithColor:color price:price];

        return apple;

    }





    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    python 文本相似度计算
    文本分析:停用词集
    浅谈RPC框架
    主动测试 -- 如何让执行测试的过程更流畅?
    非常好用的1款UI自动化测试工具:airTest
    Jmeter JSON断言和响应断言的区别是什么?
    monkey测试环境搭建 及 操作步骤
    如何通过优化测试流程,优化测试时间?
    POST请求成功,但接口返回数据不正确
    fiddler抓包 IOS11以上系统
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619821.html
Copyright © 2020-2023  润新知