zoukankan      html  css  js  c++  java
  • 三大特性之继承

    继承代表两个类之间的关系

    Dog:Animal  类似java中的 Dog extends Animal

    Dog *pDog=[Dog new];类似java中的 Dog dog=new Dog();

    [pDog bark];类似java中的 dog.brak();

    ARC机制,自动生成内存管理代码

    setAge:(int)age; <--setAge(int age);

    继承的好处:

    1、抽取重复代码

    2、建立了类之间的关系

    NSObject 的类方法 +new

    另外一个root class NSProxy

    注意点:

    1、父类要写在前面

    2、OC不允许父类和子类出现相同的成员变量 (java可以)

    3、子类可以使用父类的成员方法 ,成员方法可以相同--方法的重写/覆写

    覆盖父类以前的做法

    也可以父类的方法声明,子类去实现

    成员方法/类方法,先去子类找再去父类找

    isa指针声明在NSObject中 isa成员变量

    superclass指针

    继承的使用场合:

    1、当两个类有相同的属性和方法就可以将相同的东西抽取到一个父类中

    2、当A类拥有B类的部分属性和方法的时候,可以考虑让B类继承A类

    组合:Score成为Student的一部分(两者有相同的属性),继承在逻辑上讲不通,使用组合

    Score * _score;作为Student的成员变量  -->组合

    继承:A是B

    组合:A拥有B

    super关键字

    因为子类如果覆写父类的方法就完全覆盖了,有时候我们想使用父类

    方法中的一些代码/先执行父类方法,就可以使用 [super walk]

    当前方法是类方法/成员方法,类方法中使用 super就调用父类的

    类方法

    super的使用场景

    子类重写父类的方法想保留父类的一些行为

  • 相关阅读:
    微信上传图片
    HTMl5的sessionStorage和localStorage
    ADO.NET使用using关闭数据库连接
    上传插件(WebUploader)
    jQuery文件分片上传
    SQL Server查询已锁的表及解锁
    Hadoop到底能做什么?怎么用hadoop?
    Hadoop使用场景
    WinForm中DataGridView的快速查找及将指定行显示到第一行
    WinForm中DataGridView的全选与取消全选
  • 原文地址:https://www.cnblogs.com/imChay/p/5590334.html
Copyright © 2011-2022 走看看