当前位置:首页 > 技术知识 > 正文内容

Objective C interface(objective什么意思)

maynowei11个月前 (08-02)技术知识171

在Objective C里面,interface基本可以理解为其他语言里面的class。

当然也有些不同。

首先我们可以新建一个Objective-C的file。



这里我们添加一个MyClass.m和一个MyClass.h文件。

使用@interface 来定义一个类,使用@implementation来写实现。

MyClass.h

#import <Foundation/Foundation.h>

@interface MyClass : NSObject
- (void) hello;
@end

MyClass.m

#import "MyClass.h"
#import <Foundation/Foundation.h>

@implementation MyClass

- (void) hello {
    NSLog(@"HelloWorld");
    return;
}

@end

这里定义了一个方法hello,没有输入参数,也没有返回值,答应log "HelloWorld"。


#import用于引入头文件,和C的#include类似,只是#import本身可以保证相同的文件只被包含一次。不用像C语言一样,使用宏来控制头文件引入一次。

主程序如下:

#import <Foundation/Foundation.h>
#import "MyClass.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        MyClass *myClass = [[MyClass alloc] init];
        [myClass hello];
    }
    return 0;
}

使用alloc和init方法来构造MyClass的一个实例。调用myClass的hello方法来输出"HelloWorld"。在Objective-C里面成为发送一个hello消息。


运行结果如下。

这是一个基本的@interface,只包含了一个方法。

相关文章

机器人需求驱动导航新SOTA,成功率提升15%!浙大&amp;vivo联手打造

CogDDN团队 投稿量子位|公众号QbitAI让机器人像人一样边看边理解,来自浙江大学和vivo人工智能实验室的研究团队带来了新进展。正如视频所展示的,机器人在复杂的室内环境中不仅能自主探索,还具备...

高考一词多义考点! 30个高频词汇,完形填空再也不怕啦

1. address·/a'dres/ v.处理(问题)We must address the issue of climate change.·/'aedres/ n.地址Pleas...

微软宣布SQL Server 2016,2005版将结束支持

IT之家讯 在芝加哥Ignite大会上,微软宣布了SQL Server 2016,并将于今年夏季发布公开预览版。SQL Server是由微软开发的关系型数据库管理系统,用于软件应用请求数据的存储和管理...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

关于异步信号安全(下面关于异步电路危害的描述错误的是)

线程安全与重入以及异步信号安全的区别. 可重入一定是线程安全的,但是线程安全不一定是可重入的. 引用别人的博客中的话吧.如下: http://blog.csdn.net/xiaofei0859/art...