标签:
第一次接触oc,要明白oc与之前所接触过得C语言不同,oc是面向对象而C语言是面向过程的,对于新手来说分清这2个的区别还是挺困难的。
首先面向过程是一种以事件为中心的编程思想—分析出解决问题所需的步骤,然后用函数把这些步骤一步一步实现,使用的时候一步一步调用。
而面向对象是一种以事物为中心的编程思想,体现在它是把问题分解给各个对象,建立对象不是为了完成一个步骤,而是为了描述某个事物在整个问题的步骤中的行为。力图使计算机语言对事物的描述与现实中改事物的本来面目尽可能一致。
这时候我们 就要了解什么是类什么是对象,对象按照我的理解就是具有实物,具体到一个,你描述的类中 可以明明白白的指出是什么,比如奶茶妹妹,这个就是一个对象。
而类是模子,它是确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型,具有相同属性和方法的一组对象的集合,一个类可以对应多个对象。比如说奶茶妹妹我们就说它属于person这一类中。 类是抽象的概念,仅仅是模板,比如说“手机”对象就是一个你能够看得到,摸得着的具体实体,根据类求出对象。
“手机类” |
特征 |
屏幕 cpu 内存 |
行为(方法) |
打电话 发短信... |
明白了类和对象之后我们就要在oc中创建一个类了,新建一个file,或者点击花键加N,这时候就可以创建一个类了,
定义一个类分为2个部分,即类的声明,以及类的实现,一个是后缀为.h一个.m。
首先先来确定.h里面也就是@interface里是干啥的。
@interface Person : NSObject{ //类型 变量名;变量名只能包含数字、字母、下划线,并且只能以下划线或者字母开头 // @public int age;//整型 //方法以-/+开头,小括号,小括号里代表方法的返回值类型,如果无返回值,则用void,接着方法名(尽量做到) float height;//浮点 // 见名知意)然后是要传得参数
double wight; char xuexing;//字符
//
NSString *name;//字符串 //
}
//方法的声明;
-(void)setName:(Nsstring *)newName;
-- (void)setAge:(int )newAge;
//便利声明
-(void)setAge:(int)newAge andName:(NSString *)newName;
//减号代表方法类型(void)为返回类型,setAge是方法名
@end
上面这一段就是简单地声明了实例变量,还有方法的声明
注意方法有的是有返回值的 ,具体参看C语言函数返回值
每个?方法名都以冒号结束,这个冒号通知编译器该?方法期望
看到?一个参数,然后指定参数类型,并将其放在?一对圆括
号中,这与?方法?自?身指定返回类型的?方法?十分相似,最后
使?用象征性的名称来确定?方法所指定的参数
-(void)setAge:(int) age;表?示该?方法有?一个整型参数
介绍完.h之后我们接下去看.m里面@implementation
这里面主要就是类实例变量和方法的实现
implementation Person -(void) print { NSLog( @"%i/%i", name,age); -(void) setAge: (int)age { _age = age; } -(void) setName: (int)name { _name = name ; } -(int)getAge{ return age;? }
标签:
原文地址:http://www.cnblogs.com/canfeng/p/4906445.html