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;

    }





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

  • 相关阅读:
    drf之序列化组件
    RESTful API和Django的drf安装及使用
    Django之CBV中View、APIView源码分析
    Ajax以及crsf的校验
    Django之中间件
    Django之Auth用户认证模块
    Django之cookie、session以及FBV和CBV
    Django之Forms组件
    Django之ORM
    Django基本知识、路由层、视图层、模版层
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619821.html
Copyright © 2011-2022 走看看