zoukankan      html  css  js  c++  java
  • 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;

    }





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

  • 相关阅读:
    userdir 希望用户能够以http://X.X.X.X/~username 方式来访问自己的网页
    var_export() 函数的使用
    mb_detect_encoding — 检测字符的编码
    详解PHP fsockopen的使用方法
    jQuery 返回顶部
    Mysql函数
    sql where 1=1和 0=1 的作用
    Numpy基础学习(三)
    Numpy 中的矩阵
    Numpy数组的全通用函数
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619821.html
Copyright © 2011-2022 走看看