您的位置:首页 > 移动开发 > Objective-C

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函数后面,在使用之前只要有声明就可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对象 Object---C