李洪强iOS开发之OC[017]函数和方法的区别



//
// main.m
// 15 - 函数和对象的方法的区别
//
// Created by vic fan on 16/7/12.
// Copyright © 2016年 李洪强. All rights reserved.
//
函数和对象方法的区别
对象方法:
- (void)run;
#import <Foundation/Foundation.h>
@interface Person : NSObject{
@public
//定义实例变量
NSString *_name;//姓名
int _age;//年龄
}
//方法的声明;
- (void)run;//人跑的方法的声明
@end
//类的实现
@implementation Person
//方法的实现
- (void)run{
NSLog(@"周杰伦的床边故事");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
/**
* 创建对象
*/
Person *p = [Person new];
/**
* 给实例变量赋值
*/
p->_age = 12;
p->_name = @"李洪强";
//调用方法
[p run];
// 对象方法不能调用函数
对象方法:
1 对象方法都以 - 开头,类方法以 + 开头
2对象方法只能由对象来调用,不能当做函数一样调用
3对象方法归类/对象所有
4 对象方法的实现只能写在@implementtation...@end中
对象方法的声明只能写在 @interface...@end中
函数:
1 所有的函数都是平行的
2 函数使用的时候,可以直接调用
3 函数不存在了隶属关系
4 函数不能写在 @interface 中的,但是
可以写在@implation中的,不可以写在主函数中的
5 函数不能访问对象中的实例变量
}
return 0;
}
李洪强iOS开发之OC[017]函数和方法的区别的更多相关文章
- 李洪强iOS开发之OC[018]对象和方法之间的关系
// // main.m // 18 - 对象和方法之间的关系 // // Created by vic fan on 16/7/14. // Copyright © 2016年 李洪强. A ...
- 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用
// // main.m // 09 - 有参方法的声明实现和调用 // // Created by vic fan on 16/7/5. // Copyright © 2016年 李洪强. ...
- 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[014] -对象的存储细节
// // main.m // 13 - 对象的存储细节 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量
// // main.m // 07 - 创建一个对象并且访问实例变量 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强 ...
- 李洪强iOS开发之OC[015]#pragma mark的使用
// // main.m // 14 - #pragma mark的使用 // // Created by vic fan on 16/7/10. // Copyright © 2016年 李 ...
- 李洪强iOS开发之OC[013] -类的创建的练习
// // main.m // 12 - 类的创建练习 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All ri ...
- 李洪强iOS开发之OC[012] -类的声明实现小结
// // main.m // 11 - 内容总结 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All righ ...
随机推荐
- mybatis的一对多映射
延续mybatis的一对一问题,如果一个用户有多个作品怎么办?这就涉及到了一对多的问题.同样的,mybatis一对多依然可以分为两种方式来解决. 一.使用内嵌的ResultMap实现一对多映射 1)实 ...
- WPF的Application类
本节主要介绍一下Application类的部分功能,我们首先来看一下如何使用Application类来加载一个窗口: 我们首先创建一个控制台程序,并引入相关的dll,然后修改Main()方法. [ST ...
- .NET基础之--C#中判断空字符串的3种方法性能分析
那么为什么if(a.Length==0)最快呢?因为整数判断等于最快,没有经过实例化等复杂的过程. 所以:建议大家判断字符串是否为空用 if(a.Length==0). 对于三种方法的评价: 1.if ...
- 语音识别之梅尔频谱倒数MFCC(Mel Frequency Cepstrum Coefficient)
语音识别之梅尔频谱倒数MFCC(Mel Frequency Cepstrum Coefficient) 原理 梅尔频率倒谱系数:一定程度上模拟了人耳对语音的处理特点 预加重:在语音信号中,高频部分的能 ...
- 0x04 高级语法
while-endw .while(条件) 循环体(条件满足时执行) .endw repeat-until .repeat 循环体(条件不满足时执行) .until(条件) if-elseif-end ...
- Javascript实例:求数组中最大、最小值及下标
题目:定义一个数组,并给出7个整数,求该数组中的最大值,及最大值下标,最小值及最小值下标.<script type="text/javascript">//定义一个数组 ...
- Ubuntu下安装eclipse及PyDev插件注意事项
一.安装eclipse前一定要先安装jdk 1.到http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880 ...
- iOS10 关于推送-b
最近在研究iOS10关于推送的新特性, 相比之前确实做了很大的改变,总结起来主要是以下几点: 推送内容更加丰富,由之前的alert 到现在的title, subtitle, body 推送统一由tri ...
- FineUI Grid控件右键菜单的实现
FineUI官方Demo上一直没有Grid右键菜单的实现,其实从4.1.x的版本开始,允许添加自定义的事件监听(Listeners),所以要实现这个功能已经相当容易了. ExtJs右键菜单有很多种,对 ...
- 7zip 命令行
转自 http://www.cnblogs.com/langlang/archive/2010/12/01/1893866.html 7z.exe 是 7-Zip 的命令行版本.7z.exe 使用 7 ...