• 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;

    }





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

  • 相关阅读:
    927小程序繁星计划峰会 · 看完这七大话题 你会更了解阿里小程序
    不吹不黑,今天我们来聊一聊 Kubernetes 落地的三种方式
    虽然他们说是水题,但我觉得思想蛮好的
    新学dfs(看懂了)
    01背包,死记硬背(我是真的蠢)
    装箱问题(太笨、还没想通)
    高精度乘法,string中的坑
    双十一用python秒杀京东好货!
    高精度减法用string 和 stack
    n阶汉诺塔 记住吧。。
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619821.html
Copyright © 2020-2023  润新知