- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
简单的答案是协议(protocol)。
还有一点就是据说ObjectC中的所有方法都是virtual的,所以ObjC中就不用说virtual了。
我觉得很难理解这个概念。
关于这个问题有什么意见可以弄清楚吗?
感谢评论。
最佳答案
Simple answer would be Protocol.
简单但错误。协议(protocol)是一种接口(interface)规范。它是对象必须(暂时忽略 @optional
关键字)响应的消息集合。
术语“虚函数”在 Objective-C 中没有直接的对应物。在 Objective-C 中,您不调用对象上的函数,而是向它们发送消息。然后对象本身决定如何响应消息,通常是通过在其类对象中查找消息,找到关联的方法并调用它。请注意,这一切都发生在运行时,而不是编译时。
消息(或“选择器”给它们的技术术语)和方法之间的映射完全由@implementation
构建。 @interface
中的方法声明只是为了向编译器提供警告您可能忘记了方法实现所需的信息。而且它只是一个警告,因为直到运行时你才能知道对象是否真的响应消息。例如,其他人可以向现有类添加一个类别,为缺少的方法提供实现,或者一个类可以覆盖 forwardingTargetForSelector:
以转发它不响应其他地方的消息。
关于c++ - Objective-C 中的 C++ 纯虚函数等效于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4374677/
我有一个特别的问题想要解决,我不确定是否可行,因为我找不到任何信息或正在完成的示例。基本上,我有: class ParentObject {}; class DerivedObject : publi
在我们的项目中,我们配置了虚 URL,以便用户可以在地址栏中输入虚 URL,这会将他们重定向到原始 URL。 例如: 如果用户输入'http://www.abc.com/partner ',它会将它们
我是一名优秀的程序员,十分优秀!