Objective-C方法的声明实现及调用方法
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>1.无参数的方法</li><ul class="second_class_ul"><li>1)声明</li><li>2)实现</li><li>3)调用</li></ul><li>2.单个参数的方法</li><ul class="second_class_ul"><li>1)声明</li><li>2)实现</li><li>3)调用</li></ul><li>3.多个参数的方法</li><ul class="second_class_ul"><li>1)声明</li><li>2)实现</li><li>3)调用</li></ul><li>Objective-C中的“description“方法</li><ul class="second_class_ul"></ul></ul></div><p class="maodian"></p><h2>1.无参数的方法</h2><p class="maodian"></p><p class="maodian"></p><p class="maodian"></p><h3>1)声明</h3>
<p>a.位置:在@interface括弧的外面</p>
<p>b.语法:</p>
<p>- (返回值类型)方法名称;</p>
<div class="jb51code"><pre class="brush:java;">@interface Person : NSObject
-(void) run;
@end</pre></div>
<p class="maodian"></p><p class="maodian"></p><p class="maodian"></p><h3>2)实现</h3>
<p>a.位置:在@implementation中实现</p>
<p>b.语法:加大括弧将方法实现的代码写在大括孤之中</p>
<div class="jb51code"><pre class="brush:java;">@implementation Person;
-(void)run{
NSLog(@"我在跑步");
}
@end</pre></div>
<p class="maodian"></p><p class="maodian"></p><p class="maodian"></p><h3>3)调用</h3>
<p>a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象</p>
<p>b.语法:</p>
<p>[对象名 方法名];</p>
<div class="jb51code"><pre class="brush:java;">int main(int argc, const char * argv[]) {
Person *p = ;
;
}</pre></div>
<p class="maodian"></p><h2>2.单个参数的方法</h2>
<h3>1)声明</h3>
<p>a.位置:在@interface括弧的外面</p>
<p>b.语法:</p>
<p>-(返回值类型)方法名称:(参数类型)形参名称;</p>
<div class="jb51code"><pre class="brush:java;">@interface Person : NSObject
-(void)eat:(NSString *)foodName;
@end</pre></div>
<h3>2)实现</h3>
<p>a.位置:在@implementation中实现</p>
<p>b.语法:加大括弧将方法实现的代码写在大括孤之中</p>
<div class="jb51code"><pre class="brush:java;">@implementation Person;
-(void)eat:(NSString *)foodName{
NSLog(@"%@好美味!",foodName);
}
@end</pre></div>
<h3>3)调用</h3>
<p>a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象</p>
<p>b.语法:</p>
<p>[对象名 方法名:实参];</p>
<div class="jb51code"><pre class="brush:java;">int main(int argc, const char * argv[]) {
Person *p = ;
;
}</pre></div>
<p class="maodian"></p><h2>3.多个参数的方法</h2>
<h3>1)声明</h3>
<p>a.位置:在@interface括弧的外面</p>
<p>b.语法:</p>
<p>-(返回值类型)方法名称:(参数类型)形参名称 :(参数类型)形参名称;</p>
<div class="jb51code"><pre class="brush:java;">@interface Person : NSObject
-(int)sum:(int)num1 :(int)num2;
@end</pre></div>
<h3>2)实现</h3>
<p>a.位置:在@implementation中实现</p>
<p>b.语法:加大括弧将方法实现的代码写在大括孤之中</p>
<div class="jb51code"><pre class="brush:java;">@implementation Person;
-(int)sum:(int)num1 :(int)num2{
int num = num1+num2;
return num;
}
@end</pre></div>
<h3>3)调用</h3>
<p>a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象</p>
<p>b.语法:</p>
<p>[对象名 方法名:实参:实参];</p>
<div class="jb51code"><pre class="brush:java;">int main(int argc, const char * argv[]) {
Person *p = ;
NSLog(@"sum=%d",);
}</pre></div>
<p>运行结果</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202402/2024020414273553.png" /></p>
<p>补充:</p>
<p class="maodian"></p><h2>Objective-C中的“description“方法</h2>
<blockquote><p>在Objective-C中,每个对象都继承自NSObject类,在NSObject类中定义了一个名为`description`的方法。该方法用于返回一个字符串,描述对象的内容。默认情况下,`description`方法返回的字符串是该对象的类名和其在内存中的地址。</p></blockquote>
<p>下面是一个重写`description`方法的示例代码:</p>
<div class="jb51code"><pre class="brush:java;">@interface MyClass : NSObject
@property (nonatomic, strong) NSString *name;
@property (nonatomic) NSInteger age;
@end
@implementation MyClass
- (NSString *)description {
return ;
}
@end</pre></div>
<p>定义了一个叫做`MyClass`的类,它包含了`name`和`age`两个属性</p>
<p>重写了`description`方法,使用`NSString`的`stringWithFormat:`方法</p>
<p>将`name`和`age`的值拼接到一个描述字符串中,并返回</p>
<div class="jb51code"><pre class="brush:java;">MyClass *myObject = [ init];
myObject.name = @"John";
myObject.age = 25;
NSLog(@"%@", myObject); // 输出: MyClass: Name=John, Age=25</pre></div>
<p>通过重写`description`方法,你可以为自定义的类提供更有意义的描述信息,方便在日志输出和调试过程中使用。</p>
<p><strong>需要注意的是,为了在控制台上输出一个对象的`description`内容,你可以使用`NSLog`方法,并将对象作为参数传递给`%@`占位符</strong></p>
<p>到此这篇关于Objective-C方法的声明实现及调用的文章就介绍到这了,更多相关Objective-C方法的声明内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>Objective-C限制函数调用的频率详解</li><li>Objective-C中关于实例所占内存的大小详解</li><li>Objective-C中的重载和重写详解</li><li>Objective-C 动态调用NSInvocation 的方法</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]