面向对象语言的三大特性:封装、继承、多态
封装:不暴露自己类的内部的属性,提高自己的数据的安全性;就像一个接线盒一样,内部结构看不到,只有外部的接口提供给我们使用,这样既安全又美观;在代码方面就是结构性好;
例如:
1 #import <Foundation/Foundation.h> 2 //Person类 3 @interface Person : NSObject 4 { 5 int _age; 6 } 7 //set方法的声明 8 - (void) setAge:(int) newAge; 9 //get方法 10 - (int)age; 11 @end 12 13 @implementation Person 14 //set方法的实现 15 - (void) setAge:(int) newAge 16 { 17 if(newAge<=0)//对传入的参数的简单过滤 18 newAge = 1; 19 _age = newAge; 20 21 } 22 //get方法的实现 23 - (int)age 24 { 25 return _age; 26 } 27 28 @end
对于自己的属性_age,如果是public,外界可以随便赋值,比如-10都可以,但是年龄怎么可能是负数呢;
所以类的属性一般都通过set,get方法赋值和取值;