Objective-c中@interface、@implementation、@protocal

以下

  • void print();
  • };
  • class AC{
  • };
  • 这时候,AI和AC是独立存在,AC不会因为没有和AI建立关系而编译错误,将AC做以下修改后,AI才和AC建立了关系,AC必须实现AI中声明的方法才能通过编译。

    [html] view plaincopyprint?

    1. class AC implement AI{
    2. void print(){
    3. system.out.println(‘Hello World‘);
    4. }
    5. };

    现在,我们来看<Foundation/Foundation.h>  

  • @protocol A
  • @end
  • <strong style="color:white;background-color:#880000">@interface</strong> A : NSObject<A>
  • -(void) test:(id<A>) obj;
  • @end

  • 注意这里的 -(void) test:(id<A>) obj; 这表明test方法接受一个任意类型的对象做为参数,但是该参数对象必须实现接口A,类似于java中的

    void test(List<A> obj) 。

时间: 2024-10-01 08:11:22

Objective-c中@interface、@implementation、@protocal的相关文章

DbContext 中的 Explicit interface implementation

疑惑 前段时间一直再用Entity Framework 6,写了一些公用的方法,在这个过程中发现了DbContext实现的接口IObjectContextAdapter,可以通过这个接口访问到更底层的ObjectContext对象,比如 ((IObjectContextAdapter)ctx).ObjectContext 当时就觉得很奇怪,为什么不能直接获取,而需要一次转换,主要是奇怪C#是通过什么形式把ObjectContext给hide住的,不过当时也没多想,忙于完成工作.最近比较系统的再过

objective C中继承、协议、分类和多态的实现

第一.objective C中继承的实现 在oc中只有实例变量会有权限控制,实例方法和类方法是没有权限控制的,这点与c++不同,OC默认的是protected,并且在声明权限控制时,没有分号 在OC中可以像C++一样用指针运算法来访问实例变量 Rectangle.h 文件代码: #import <Foundation/Foundation.h> @interface Rectangle : NSObject { int _width; int _height; } @property (non

Objective-C中.h文件、.m文件中@interface、@synthesize及其它

很多开发iOS好几年的老鸟,可能都不太分的清.h文件和.m文件里各种结构的用途和区别.最近仔细研究了一下,写一篇文章记下来. 一般的,写一个Class的时候,经常是这种格式(以UIViewController为例): .h文件: @interface ClassName{ NSString* _value1; } @property(nonatomic,assign)NSString* value1; -(void)func1; 1 2 3 4 5 6 7 8 .m文件: @interface

objective C中的字符串(三)

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7343561 objective C中的字符串操作 在OC中创建字符串时,一般不使用C的方法,因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,在Cocoa中NSString集成的一些方法,可以很方便的操作字符串,下面举几个例子: 1.创建: 直接利用等号赋值 NSString *

Golang中interface{}作为函数参数和函数返回值的使用

package main import (     "errors"     "fmt" ) type item struct {     Name string } func (i item) String() string {     return fmt.Sprintf("item name: %v", i.Name) } type person struct {     Name string     Sex  string } func

objective C中的字符串

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7343561 objective C中的字符串操作 在OC中创建字符串时,一般不使用C的方法,因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,在Cocoa中NSString集成的一些方法,可以很方便的操作字符串,下面举几个例子: 1.创建: 直接利用等号赋值 NSString *

Objective - C中属性和点语法的使用

一.属性 属性是Objective—C 2.0定义的语法,为实例变量提供了setter.getter方法的默认实现能在一定程度上简化程序代码,并且增强实例变量的访问安全性 OC中的属性机制提供了便捷的设置和获取实例变量的方式,或者说属性提供了一个默认的设置器和访问器的实现:属性提供的方法是现实可配置的,属性的好处:相当于自己编写这一对方法,属性提供了一系列清晰分明的说明参数来定义设置器和访问器的行为,编译器可以根据你设置的说明参数为你生成相应的方法,减少你的代码量和维护工作量 设置器(sette

Delphi中Interface接口的使用方法

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type //定义接口如果接口独立成一个文件,则在应用程序中和实现程序中都要引用该接口文件: ICar = interface (IInterface) ['{ED52E264-6683-11D7-B847-001060806215}'] procedure

PHP中interface与 implements 关键字

类中接口的应用 1.关键字:interface 2.关键字:implements 1.接口的介绍与创建 接口:一种成员属性全部为抽象或常量的特殊抽象类. 规则: 1.类中全部为抽象方法. 2.抽象方法钱不用加abstract. 3.接口抽象方法属性为public. 4.成员属性必须为常量. 格式代码如下: interface demo { const NAME = "常量对象属性"; function fun1(); function fun2(); //抽象方法. } 2.接口的应用