zoukankan      html  css  js  c++  java
  • Objective-C 快速入门--基础(二)

    1、什么是继承?OC中的继承有哪些特点?

      “继承”是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法(Object-C子类会继承父类中除了@private实例变量之外的全部内容),而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。

      继承特点:①   OC中继承是单向的,不能相互继承;

             ②   继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为;

           ③ 没有⽗父类的类称为根类,OC中的根类是NSObject(祖宗);

           ④ 如果⼦子类不满意父类方法的实现,可以重写父类的方法。

    2、子类与父类的关系?

      继承的上层: 父类 ,继承的下层:子类;

      面向对象提供了的继承语法,能够大大简化代码,把公共的方法和实例变量写在父类里,子类只需要写自己独有的实例变量和方法即可;

      继承既能保证类的完整,又能简化代码,让类与类之间的关系更加紧密。

    3、 如果父类中的某个方法满足不了子类的需求,怎么办?

      可以重写父类的方法,Objective-C中重写父类的不需要声明;

      示例:- (void)eat{    NSLog(@"%@在吃草",_name); }

      eat方法是由子类继承自父类Person中的,如果子类需要修改父类中的实现,则只需在类的实现部分重新定义该方法即可。

    4、self与super分别指的是什么?

      Self:谁调用它,谁就是self,就是说self就是它本身(详细一点就是:self是一个指针,指向对象的isa指针,isa指针指向类对象(结构体,任何对象本质都是结构体),然后通过类对象的SEL指针(指向code区的类)去类中寻找方法,找到就实现。)同时也可以理解为:self 如果是对象调用到 ,那self就是该对象,如果是类调用到,那self就是该类。

      Super:就是指向父类的,是编译器指令,并非对象。

      作用:给super发消息,可以执行父类中实现的方法;当子类重写父类方法时,通过super执行父类的实现,又拥有自己的实现,相当于对父类已经定义的方法做扩展;子类可以重写父类的方法,即子类既有自己的实现,又有父类继承下来的实现,如果想使用父类的实现,向super发送消息。

    5、OC中完整的初始化方法的格式怎么写?其里面包含几部分内容?

      ①创建对象分两步:开辟空间、初始化;

      ②初始化方法的主要作用是:为某些实例变量赋初值

      ③初始化方法在对象的整个生命周期里只使用一次

      ④完整的初始化方法:

      

    6、什么是便利构造器?它有什么好处?它封装的是什么?有什么作用?

      ①便利构造器在初始化方法的基础上前进了一小步;封装了对象创建过程;

      ②简化代码,方便外界使用;

      ③封装了alloc和初始化方法,使用起来更加简洁;

      ④快速创建对象。

    7、便利构造器的书写格式是什么?有哪些需要我们注意的地方?

      示例:

      .h文件中

      

      .m文件中:

      

    main.m文件中:

      

      控制台输出:

      

    Email:dingding3w@126.com

  • 相关阅读:
    Java 多线程分析 (六) ----三种方式实现Thread
    图论--深度优先遍历DFS
    图---邻接链表建立
    打印从1到n位数(防止数据溢出)
    Java 基础知识理解
    l链表的反转
    RecordList
    ArrayList
    git仓库相关知识02-远程仓库
    git仓库相关知识01-安装和基本命令
  • 原文地址:https://www.cnblogs.com/dingding3w/p/4603893.html
Copyright © 2011-2022 走看看