`
zsjg13
  • 浏览: 145104 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

Objective-C Protocol

阅读更多

已经学习了Objective-C类的基本元素和结构,但是该语言还提供了许多额外的特性用于开发类。本节说的就是protocols。

 

一个protocol声明了可以让其他任何类实现的方法和属性。

 

一个类接口是和一个特定的类相关联的,这就形成了一个类层次结构。

 

而,protocol并不与任何特定类关联,所以它可以被用来捕捉一些并没有层次关系的类里的相似点。

 

protocol为Objective-C提供了规范的多继承(也就是,方法声明)的能力。

 

protocol还可以用来定义一个对象可以发的消息。(通过指定遵循一个协议的属性)

 

1、语法

如果@required和@optional都没写,默认就是@required

Listing 2-12.  Protocol Declaration Syntax

@protocol ProtocolName

// Property declarations

@required

// Method declarations

@optional

// Method declarations

@end

 

-----------------------------------------------------

protocol中还可以引入其他protocols。

Listing 2-13.  Incorporating Other Protocols

@protocol ProtocolName <ProtocolName(s)>

// Method declarations

@end

---------------------------------------------------------------------

接口中引入protocols

Listing 2-14.  Interface Adopting a Protocol

@interface ClassName : Parent <ProtocolName(s)>

// Method declarations

@end

分享到:
评论

相关推荐

    Objective-C编程全解最新版.pdf.zip

    1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此,理解C语言的基本语法是必要的。Objective-C添加了消息传递机制、类和协议等面向对象特性。 2. **消息传递**:Objective-C中的对象通过发送消息来...

    Objective-C与Objective-C++的混用代码示例

    Objective-C是基于C语言的,主要用于构建iOS和macOS应用程序,而Objective-C++则是Objective-C的一个扩展,它引入了C++的特性,使得开发者可以同时利用Objective-C的动态特性和C++的面向对象编程能力。 ### ...

    《Objective-C基础教程》中文版(含源代码)

    3. **Objective-C语法**:深入解析Objective-C的语法特性,如消息传递、方法定义、属性声明、类别(Category)和协议(Protocol)等,以及如何使用这些特性编写代码。 4. **Foundation框架**:介绍Objective-C开发...

    Objective-C

    Objective-C是在C语言的基础上扩展了Smalltalk式的面向对象特性,使得它既有C语言的强大功能,又具备了面向对象编程的灵活性。 在Objective-C中,类是所有对象的基础。类定义了一组属性(实例变量)和方法(函数)...

    objective-c编程 第2版=objective-c program 2nd edition_13889311

    此外,可能会介绍分类(Category)和协议(Protocol),这是Objective-C实现代码复用和接口规范的重要机制。 3. **消息传递**:Objective-C中的对象通过消息传递进行通信。书中会讲解消息传递的原理,包括动态绑定...

    Objective-C基础教程源代码 Learn objective-C on the Mac Mark Dalrymple著书

    1. **Objective-C语法**:Objective-C的语法基于C语言,但引入了类、接口和消息传递等概念。这包括定义类、属性(@property)和方法(@selector)的语法,以及理解类接口(.h)和实现(.m)文件的作用。 2. **对象...

    Objective-C2.0程序设计习题官方答案

    Objective-C2.0是苹果公司开发的一种面向对象的编程语言,它是C语言的超集,融合了Smalltalk的动态特性,广泛应用于iOS和Mac OS X操作系统。本资料集中的"Objective-C2.0程序设计习题官方答案"显然是针对学习...

    Objective-c Category和Protocol

    Objective-C 是一种结合了C语言特性和面向对象编程思想的编程语言,它在设计上深受Smalltalk的影响。Objective-C 的核心特性之一是**消息传递**(Message Passing)。与C++或Java等语言中的直接方法调用不同,...

    objective-c的计算器

    1. **Objective-C基础**:Objective-C是C语言的超集,它引入了Smalltalk的类、消息传递等面向对象特性。了解基本的数据类型、变量声明、控制流语句(如if、for、while)以及函数定义是开始的基础。 2. **类和对象**...

    Objective-C语言教程与案例.zip

    还可能讲解了Objective-C的特殊特性,如类别(Category)、协议(Protocol)和块(Block)。 2. **语法结构**:Objective-C的语法有其独特性,比如它的方法定义和调用方式,以及在C语言基础上添加的“@”符号,如@...

    从 C++ 到 Objective-C 快速精通

    学习Objective-C的关键在于理解其特有的类(Class)、对象(Object)、协议(Protocol)以及Category等概念。 1. 类与对象:Objective-C的类基于C++的结构,但增加了元类(Meta-Class)的概念,支持运行时类型检查...

    Objective-C培训教程

    Objective-C是一种面向对象的编程语言,它是C语言的一个超集,并且是用于Mac OS和iOS应用开发的主要语言。它具有动态绑定、内存管理、面向对象的特性,允许开发者编写高效和可重用的代码。 第一章程序整体语法结构...

    Objective-C编程之道

    Objective-C还引入了协议(Protocol),类似于Java和C#的接口,定义了一组可选或必需的方法。协议常用于实现多继承,或者作为方法参数和返回值的类型。遵循协议的类需要实现协议中声明的所有方法。 Category是...

    objective-c语言教程

    ### Objective-C语言教程知识点概述 #### 一、Objective-C编程语言简介 - **目标读者**:本书适合希望深入了解Objective-C编程语言的开发者阅读。 - **文档结构**:本书分为多个章节,涵盖Objective-C的核心概念和...

    Objective-C语言教程、案例与项目资源详解.docx

    ### Objective-C语言教程、案例与项目资源详解 #### 一、Objective-C基础知识 **1.1 类与对象** Objective-C的核心概念是类和对象。类是对象的模板或蓝图,它定义了对象应该具备哪些属性(如变量)和行为(如方法...

    这是一个基于Objective-C语言的基础案例集。旨在用于给初学者快速了解Objective-C语言的语法。.zip

    4. **协议(Protocol)**:Objective-C的协议类似于接口,定义了一组方法签名,但不提供实现。类可以遵守一个或多个协议,确保实现指定的方法。 5. **类别(Category)**:Objective-C允许通过类别扩展已有的类,...

    Learn Objective-C on the Mac eBook.pdf (incl. examples) 包含全代码

    首先,Objective-C是C语言的超集,这意味着它包含了C语言的所有特性,并在其基础上添加了面向对象的编程概念。学习Objective-C,你需要理解类、对象、继承、多态以及消息传递等核心概念。书中会详细讲解这些基础知识...

    Swift和Objective-C混合编程示例代码

    在iOS应用开发中,Swift和Objective-C的混合编程是一个常见的需求。Swift是Apple于2014年推出的现代化编程语言,而Objective-C则是苹果长期使用的系统级编程语言,两者各有优势。本示例代码旨在帮助开发者理解如何在...

    Objective-C示例代码1

    6. **协议(Protocol)**:Objective-C支持协议,它定义了一组方法签名,可以被多个类遵循。`FractionDemo`可能遵循了一些协议,如`NSCopying`,以便实现对象复制。 7. **类别(Category)**:Objective-C的类别...

Global site tag (gtag.js) - Google Analytics