IOS-day03_OC中的get和set

OC中的get和set实质和C#/java中的一样

只是表现形式不同而已

如下:

1 @interface Car : NSObject
2 {
3     int wheels;
4 }
5 
6 -(void) run;
7 -(void) setWheels:(int)newWheels;
8 -(int) wheels;
9 @end

实现:

 1 @implementation Car
 2 
 3 -(void)run{
 4     NSLog(@"%i个轮子的车跑起来了",wheels);
 5 }
 6 -(void) setWheels:(int) newWheels{
 7     if (newWheels <= 0) {
 8         newWheels = 4;
 9     }
10     wheels = newWheels;
11 }
12 -(int) wheels{
13     return wheels;
14 }
15 @end

命名规范:

set方法顾名思义是设置值的方法,在OC中一般以set开头,变量的首字母大写,目的主要起到一定的限制作用,如果设置的值不合理的话我们可以再方法中进行判断,避免直接访问其变量

get方法是取值的方法,在OC中一般和变量名一致(我比较倾向于get开头)

 

成员变量命名规范:

  一般以 _ 开头,这是规范,一般以 _ 开头的变量就是成员变量,所以上面代码中的 int wheels;应该改为 int _wheels;则没有以_开头的则是方法

方法:

以减号开头的方法是对象方法,如: -(void) run{...},这个方法只能用对象来调用

以加号开头的方法为类对象,如 +(void) run{...},这个方法可以通过类名直接调用,在C#中就是静态的方法,但是也有区别,OC中的类方法只能用类来调用,不能用对象来调用,而C#的静态方法是可以通过对象来调用的.

  类方法中不能访问实例变量,实例变量只能通过对象调用.

posted @ 2015-04-22 21:44  李亚杰  阅读(207)  评论(0编辑  收藏  举报