天天看点

OC面向对象封装

  面向对象语言的三大特性:封装、继承、多态

  封装:不暴露自己类的内部的属性,提高自己的数据的安全性;就像一个接线盒一样,内部结构看不到,只有外部的接口提供给我们使用,这样既安全又美观;在代码方面就是结构性好;

  例如:

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方法赋值和取值;