当前位置: 首页 > news >正文

网站版面的图文是怎么做的谷歌seo运营

网站版面的图文是怎么做的,谷歌seo运营,学做吃的的网站,新疆交通建设集团网站在 Objective-C 中,[self class] 和 [super class] 都用于获取对象的类信息,但它们在运行时的行为略有不同。理解它们的区别有助于更好地掌握 Objective-C 的消息传递机制和继承关系。让我们详细解释这两个调用的区别。 [self class] 当你在一个对象方…

在 Objective-C 中,[self class][super class] 都用于获取对象的类信息,但它们在运行时的行为略有不同。理解它们的区别有助于更好地掌握 Objective-C 的消息传递机制和继承关系。让我们详细解释这两个调用的区别。

[self class]

当你在一个对象方法中调用 [self class] 时,实际上是向对象发送了一条 class 消息。这个消息的接收者是 self,即当前对象。self 是指向当前实例的指针,方法的调用是通过对象本身的 isa 指针找到对应的类方法。

示例代码
@interface MyClass : NSObject
- (void)printClass;
@end@implementation MyClass
- (void)printClass {NSLog(@"[self class]: %@", [self class]);
}
@end

在这个示例中,[self class] 直接调用了 self 对象的 class 方法。假设 selfMyClass 类的一个实例,[self class] 将返回 MyClass

[super class]

当你在一个对象方法中调用 [super class] 时,super 不是一个指向当前对象的指针,而是一个编译器指示,告诉编译器从父类的实现开始查找方法,而不是从当前类。这意味着尽管方法的接收者仍然是当前对象,但方法的查找从父类开始。

示例代码
@interface MyClass : NSObject
- (void)printClass;
@end@implementation MyClass
- (void)printClass {NSLog(@"[super class]: %@", [super class]);
}
@end

在这个示例中,[super class] 会调用 NSObjectclass 方法,因为 MyClass 继承自 NSObject。然而,由于 class 方法并未被重写,所以最终效果与 [self class] 相同。

具体区别

  1. 方法查找起点

    • [self class]:从当前类开始查找 class 方法。
    • [super class]:从父类开始查找 class 方法。
  2. 结果

    • 在绝大多数情况下,如果 class 方法没有被重写,[self class][super class] 的结果是相同的,都返回对象的实际类。
    • 如果在子类中重写了 class 方法,[self class] 会调用重写的方法,而 [super class] 则会调用父类的方法。
重写 class 方法的示例
@interface MyClass : NSObject
@end@implementation MyClass
- (Class)class {return [NSString class];
}
@end@interface SubClass : MyClass
@end@implementation SubClass
- (void)printClass {NSLog(@"[self class]: %@", [self class]);NSLog(@"[super class]: %@", [super class]);
}
@endint main(int argc, const char * argv[]) {@autoreleasepool {SubClass *obj = [[SubClass alloc] init];[obj printClass];}return 0;
}

在这个示例中,MyClass 重写了 class 方法,返回 NSString 类。SubClass 继承自 MyClass 并添加了 printClass 方法。运行这个程序会输出:

[self class]: NSString
[super class]: NSString

由于 SubClass 继承了 MyClassclass 方法,所以无论是 [self class] 还是 [super class],最终调用的都是 MyClass 中重写的 class 方法。

总结

  • [self class]:发送 class 消息给当前对象,方法查找从当前类开始。
  • [super class]:发送 class 消息给当前对象,但方法查找从父类开始。

在大多数情况下,如果 class 方法没有被重写,它们的结果是相同的。但如果 class 方法被重写,它们的行为会有所不同,[self class] 会调用当前类的重写方法,而 [super class] 会调用父类的方法。

http://www.ds6.com.cn/news/105782.html

相关文章:

  • yole市场调研公司石家庄seo关键词排名
  • 如何做网站搭建福州seo技术培训
  • 外国人的做视频网站武汉百度搜索优化
  • 怎么做电商赚钱无锡百度seo优化
  • 如何提升网站用户体验西安百度竞价推广
  • 富阳做网站洛洛科技中央人民政府网
  • 公司的网站备案最新国际新闻大事件
  • wordpress 菜单 分隔网站优化建设
  • 深圳门户网站建设兰州网络推广的平台
  • 网站网站地图怎么做seo快速排名软件网站
  • 昆明做凡科网站seo推广灰色词
  • wordpress购物网站手机搜索引擎优化原理
  • 建设网站的目的广东网站seo策划
  • 商城系统管理win7优化软件
  • 百度推广和哪些网站有合作建立网站的几个步骤
  • 云南网站开发哪家靠谱营销型网站建设目标
  • 网站建设难吗此网站服务器不在国内维护
  • 响应式网站建站系统seo网站内容优化
  • 长春做网站哪个公司好怎样加入网络营销公司
  • 公司网站建设费属于宣传费吗网络推广方法有哪些
  • 网站项目分析怎么做 方法有哪些网站测试报告
  • 微企点建站平台介绍36优化大师下载安装
  • 做网站后台用什么语言100个成功营销案例
  • 做网站大约需要多少钱竞价点击软件排名
  • 一品威客网视频剪辑接单seo优化顾问
  • 富阳市网站保定百度seo公司
  • html5 公众号 网站开发网站排行查询
  • 网络兼职做网站设计百度爱采购优化排名软件
  • 访问网站错误代码为137班级优化大师使用指南
  • 旅游主题网站策划书手机怎么制作网页