zoukankan      html  css  js  c++  java
  • isMemberOfClass和isKindOfClass之间区别

    isMemberOfClass方法是来确定对象是否是某一个类的成员。在下一个任务中,我们使用这个方法来验证一个特定的对象是否是一个特定的类成员

    例子:

    #import <Foundation/Foundation.h>

    #import <stdio.h>

    @interface Class1 : NSObject

    {

    }

    -(void)print;

    @end

    @implementation Class1

    -(void)print

    {

    printf("This is Class1 .\n");

    }

    @end

    @interface Class2 : NSObject

    {

    }

    -(void)prinf;

    @end

    @implementation Class2

    -(void)prinf

    {

    printf("This is Class2.\n");

    }

    @end

    int main (int argc, const char * argv[]) {

        // insert code here...

    Class1 *c1=[Class1new];

    Class2 *c2=[Class2new];

    if ([c1 isMemberOfClass:[Class1class]]==YES) {

    printf("c1 is Member of Class1 !\n\n");

    }

    if ([c2 isMemberOfClass:[Class2class]]==YES) {

    printf("c2 is Member of Class2 !\n\n");

    }

        return 0;

    }

    输出结果:

    c1 is Member of Class1  !

    c2 is Member of Class2  !

    isKindOfClass我们也可以使用isKindOfClass来检查一个对象是否是一个类的成员。isMemberOfClass和isKindOfClass之间区别是:我们可以使用isKindOfClass来确定一个对象是否是一个类的成员,或者是派生自该类的成员。

    例如:我们已经成NSObject派生了自己的类,isMemberOfClass不能检测任何的类都是基于NSObject类这一事实,而isKindOfClass可以。

    应用举例:

    import <Foundation/Foundation.h>

    #import <stdio.h>

    @interface Class1 : NSObject

    {

    }

    -(void)print;

    @end

    @implementation Class1

    -(void)print

    {

    printf("This is Class 1.\n");

    }

    @end

    int main (int argc, const char * argv[]) {

        // insert code here...

    Class1 *c1=[Class1new];

    if ([c1 isKindOfClass: [NSObject class]]==YES) {

    printf("c1 is a kind of NSObject . \n");

    }

        return 0;

    }

    输出结果;

    c1 is a kind of NSObject .

  • 相关阅读:
    Unix Programming :文件IO
    Git 小记
    Effective C++ Placement new
    Effective C++ 避免数组多态
    系列文章:云原生Kubernetes日志落地方案
    阿里巴巴大数据产品最新特性介绍--机器学习PAI
    Apache Flink 1.9.0版本新功能介绍
    Flink Checkpoint 问题排查实用指南
    进击的 Java ,云原生时代的蜕变
    8 分钟入门 K8s | 详解容器基本概念
  • 原文地址:https://www.cnblogs.com/zhwl/p/2305277.html
Copyright © 2011-2022 走看看