Saa*_*mJB 1 c iphone objective-c
我是编程的初学者,也是Objective-C的初学者.我学习了基础C并决定开始学习Objective-C.我正在阅读Steven Kochan的"Objective in Objective C 2.0".他关于议定书的部分含糊不清.他没有彻底解释为什么有人想要在他们的程序中使用协议,也没有给出在程序中实现它的具体示例.他写道:"您可以使用协议来定义您希望其他人子类实现的方法." 他还说,协议有利于子类能够实现某些方法,而无需首先定义实际方法.他还说协议可以用于不同的类,因为它们是无类别的.
我知道必须有一种有效且智能的方法来实现协议,但根据他写的内容,我不明白为什么有人会使用协议而不仅仅是创建一个类方法,而不是因为多个类可以遵循一个协议(我知道有一些更好的理由!).我想知道是否有人可以帮助我理解:如何,为什么以及何时以智能方式在我的程序中使用协议.
如果您已经完成了任何类型的面向对象编程,您可能将协议称为接口(它们不相同,但概念类似).如果没有,请将协议视为蓝图.
你使用协议的主要原因是你可以使用对象而不了解它们的一切; 您需要知道的是,他们实现了一组方法.例如,如果类Business和Person符合协议Contact,它定义了方法- (NSString *)phoneNumber,类AddressBook可以调用-(NSString *)phoneNumber而无需知道该对象是否是类型的Business或Person.
一旦您开始了解Cocoa和代理,您将看到有多强大和重要的协议.