OC - 类的基本定义与方法的使用
2016-01-19 21:08
567 查看
//先上.m // Created by 大L君 on 16/1/19. // Copyright © 2016年 bigL.com. All rights reserved. #import <Foundation/Foundation.h> // @interface Person : NSObject//类的声明 { @public //对象属性的声明 NSString *_name; int _age; double _weight; } -(void)shout;//对象方法声明 +(void)sumValue1:(int)numX withSumValue2: (int)numY;//类方法声明 @end @implementation Person//方法的实现 -(void)shout //输出所有对象的值 { NSLog(@"name = %@;age = %d; weight = %.2lf",_name,_age,_weight); } +(void)sumValue1:(int)numX withSumValue2: (int)numY//求2个数的和 { NSLog(@"sum = %i",numX+numY); } @end void test();//函数声明(函数声明与调用类声明之间不分先后 PS:(函数与调用结构体分先后)) int main(int argc, const char * argv[]) { @autoreleasepool { test(); } return 0; } void test() { Person *p = [Person new];//通过类创建对象 p -> _name = @"蛤";//修改对象的属性 p -> _age = 18; p -> _weight = 157.54; [p shout];//对象方法只能用对象调用 [Person sumValue1:10 withSumValue2:20];//类方法只能用类调用 } /*=================================================== 2016-01-19 15:14:52.765 1.2 类的定义[5147:415020] name = 蛤;age = 18; weight = 157.54 2016-01-19 15:14:52.766 1.2 类的定义[5147:415020] sum = 30 ==================================================*/
一.类的基本格式
@interface 类名 : 父类名称//NSObject是OC中的基类 { @public //公用对象 NSString _a;//成员对象的声明 int _b; id _c; } //对象方法的声明 //类方法的声明 @end @implementation 类名 //对象方法 -(方法类型)对象方法名:(参数类型)参数名1 方法签名:(参数类型)参数名2 { code; } //类方法 +(方法类型)类方法名:(参数类型)参数名1 方法签名:(参数类型)参数名2 { code; } @end
二.对象方法和类方法与函数区别
//类方法与对象方法 : 互相4种调用均问题;
对象方法与类方法的区别
函数与方法区别
对象方法:
• (1)对象方法的实现只能写在@implementation…@end中,对象方法的声明只能写在 @interface…@end中间
• (2)对象方法都以-号开头,类方法都以+号开头
• (3)对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用
•(4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation…@end中,但写在 @interface…@end会无法识别,函数的声明可以在main函数内部也可以在main函数外部。
• (5)对象方法归类\对象所有
•
• 函数:
• (1)所有的函数都是平行的
• (2)函数不存在隶属关系
• (3)使用的时候可以直接调用
• (4)不可以访问对象中的成员变量
•
三. 常见错误
• 1)@interface @end和@implementation @end不能嵌套包含
• 2) OC是弱语法,可以只有@implementation,但实际开发中千万不要这样。
• 4)漏写@end
• 5)两个类的对象声明顺序(可以把顺序打乱)
• 6)成员变量没有写在{}里
• 7)方法的声明写在了{}里面
• 8)在声明时不能对类的成员变量进行初始化,请注意成员变量不能脱离对象而独立存在
• 9)方法无法像函数那样的调用
• 10)成员变量和方法不能用static等关键字修饰,不要和c语言混淆
• 11)类的实现可以写在mian函数后面,在使用之前只要有声明就可以
相关文章推荐
- Python动态类型的学习---引用的理解
- 土人系列AS入门教程 -- 对象篇
- C#托管堆对象实例包含内容分析
- C#实现获取不同对象中名称相同属性的方法
- javascript asp教程第十一课--Application 对象
- PowerShell中使用Out-String命令把对象转换成字符串输出的例子
- VBS教程:对象-正则表达式(RegExp)对象
- C#检查指定对象是否存在于ArrayList集合中的方法
- sql2008启动代理未将对象应用到实例解决方案
- C#编程自学之类和对象
- C++中对象的常引用、动态建立和释放相关知识讲解
- php中将一个对象保存到Session中的方法
- php对象和数组相互转换的方法
- PHP中把对象转换为关联数组代码分享
- C#写入对象或集合类型数据到xml文件的方法
- C#利用反射来判断对象是否包含某个属性的实现方法
- ASP.NET中使用Application对象实现简单在线人数统计功能
- asp提示Server 对象 错误 ASP 0178 : 80070005
- Javascript 对象的解释
- JavaScript对象、属性、事件手册集合方便查询