面向对象语言的三大特性:封装、继承、多态
封装:不暴露自己类的内部的属性,提高自己的数据的安全性;就像一个接线盒一样,内部结构看不到,只有外部的接口提供给我们使用,这样既安全又美观;在代码方面就是结构性好;
例如:
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方法赋值和取值;