面向對象語言的三大特性:封裝、繼承、多态
封裝:不暴露自己類的内部的屬性,提高自己的資料的安全性;就像一個接線盒一樣,内部結構看不到,隻有外部的接口提供給我們使用,這樣既安全又美觀;在代碼方面就是結構性好;
例如:
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方法指派和取值;