• Objective-C学习笔记--@interface


    Objective-C中,调用方法被称为发送消息,通知对象执行某种操作

    先看一段类声明(接口):

    @interface Circle : NSObject

    {

         ShapeColor fillColor;

        ShapeRect bounds;

    }

     -(void) draw; //1.

     -(void) setFillColor: (ShapeColor) fillColor;  //2.

     -(void) setBounds: (ShapeRect) bounds;  //3.

    @end

    方法声明

    第1个,前面的短线表明这是Objective-C方法的声明,这是一种区分函数原型与方法声明的方式,函数原型中没有先行短线。短信后面是方法的返回类型,位于圆括号中(Objective-C中没有public和private的概念,你可以认为全是public,它只有类方法和实例方法,+表示是类方法,类方法可以直接调用,而不用插U那个键这个类的实例,-表示实例方法,需要创建这个类的实例对象才可以调用)

    类对象包含了指向超类的指针、类名和指向类方法列表的指针,类对象还包含一个long型数据,为新创建的类实例对象指定大小(以字节为单位)

    如果使用了+,就是把这个方法定义为类方法,这个方法属于类对象并且通常用于插u功能键新的实例,我们称这种用来插u那个键新对象的类方法为工厂方法

    类对象可以用来访问全局数据,APPKit中的NSColor类有一些以不同颜色命名的类方法,如redColor和blueColor,要用蓝色绘图,可以像这样编写代码:

    NSColor * haveTheBlues =[NSColor blueColor];

    用减号:这些方法将会在某个对象实例中运行,比如获取i个Circle的颜色或者一个Tire的气压

    用加号:实现常规功能,比如创建一个实例对象或者访问一些全局类数据

    Objective-C可以返回与C函数相同的类型:标准类型(整型、浮点型和字符型)、指针、对象引用和结构

    第2个,方法的名称是setFillColor: ,结尾处的冒号是名称的一部分,它告诉编译器和编程人员后面会出现参数。参数是某个ShapeColor值,fillColor是参数名

    注意:方法的声明在括号后面,@end之前 。{}

    注意冒号

    冒号是方法名称非常重要的组成部分,如果方法使用参数,则需要冒号,否则不需要冒号

    中缀符

    Objective-C中有一种名为中缀符(infix notation)的语法技术。方法的名称及其参数都是和在一起的。例如你可以这样调用带一个参数的方法:[circle setFileColor: kRedColor];

    带两个参数的方法调用如下:

    [textThing setStringValue: @"hello there"  Color:kBuleColor];//textThing 表示什么意思?

    setStringValue:和setFillcolor:实际上是参数的名称(实际是方法名称的一部分)

    @“hello there”和kBuleColor是被传递的参数

    这种语法和C不同,在C中调用函数时,是把所有的参数都放在函数名之后,如下所示

    setTextThingValueColor(textThind,@"hello there",kBuleColor);

    中缀符使代码可读性更强,更容易理解参数的用图

  • 相关阅读:
    .sln是什么的格式
    VMware的四种网络连接方式
    Cisco 2950交换机 配置手册
    Framework2.0标识没有写访问权限的解决办法
    ASP.NET IIS 注册工具
    .suo介绍
    Uri In WPF
    BindingErrorListener In WPF
    WPF 详解模板
    .NET装饰器(Decorator)模式
  • 原文地址:https://www.cnblogs.com/cc-Cheng/p/3315123.html
Copyright © 2020-2023  润新知