zoukankan      html  css  js  c++  java
  • 第7章 类(Objective-C程序设计)

    7.1 分离接口和实现文件

    通常,类的声明(@interface部分)要放在它自己的名为class.h的文件中,而类的定义(@implementation部分)通常放在相同名称的文件中,但扩展名要使用.m。通过在.m中导入.h文件,使编译器知道为当前类声明的类和方法,同时还能确保这两个文件的一致性。

    需要注意,导入的文件要用一对引号“”引起来,而不是<>。双引号适用于本地文件,而不是系统文件。这样编译器就知道在哪里能够找到指定的文件。

    7.2 合成存取方法

    从Objective-C 2.0开始,可自动生成设值方法和取值方法(统称为存取方法)。第一步是在接口文件中使用@property指令标识属性;第二步,在实现部分使用@synthesize指令即可。

    如果使用了@property指令,就不需要在实现部分声明相应的实例变量。

    其实并不需要使用@synthesize指令,使用@property就够了。编译器会自动为你生成setter和getter方法。但是,注意,如果你不适用@synthesize,那么编译器生成的实例变量会以下划线(_)字符作为其名称的第一个字符。

    7.3 使用点运算符访问属性

    一般格式如下:

    instance.property
    
    instance.property = value;  //对属性赋值

    7.4 具有多个参数的方法

    通过列出每个连续的参数并用冒号将其连接起来,就可以定义一个接收多个参数的方法。用冒号连接的方法将成为这个方法名的一部分。

    -(void) setTo: (int)  n over: (int) d;

    7.5 局部变量

    局部变量是基本的C数据类型,没有默认的初始值,所以在使用之前要先赋值。

    方法的参数名也是局部变量。执行方法时,通过方法传递的任何参数都被复制到局部变量中。因为方法使用参数的副本,所以不能改变通过方法传递的原值。

    static关键字:在变量声明前加上static关键字,可以使局部变量保留多次调用一个方法所得的值。

    static int hitCount = 0; 

    声明整数hitCount是一个静态变量。和其他基本数据类型的局部变量不同,静态变量的初始值为0,所以前面显示的初始化是多余的。此外,它们只在程序开始执行时初始化一次,并且在多次调用方法时保存这些数值。

    1 -(int) showPage
    2 {
    3     static int pageCount = 0;
    4     ...
    5     ++pageCount;
    6     ...
    7     return pageCount;
    8 }

    pageCount可用于记录该方法的调用次数。

    只能在定义静态变量和局部变量的方法中访问这些变量。

     7.6 self关键字

    关键字self用来指明对象是当前消息的接收者。

  • 相关阅读:
    KMP算法
    Python 正则表达式
    Python 装饰器
    C/C++ 之输入输出
    PAT(Basic Level)--个位数统计
    Java 接口与抽象类
    Java集合-01概述
    数据结构--红黑树
    数据结构--(AVL)平衡二叉树
    数据结构--二叉搜索树
  • 原文地址:https://www.cnblogs.com/cinvzi/p/8372788.html
Copyright © 2011-2022 走看看