天天看點

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