oc語言是物件導向的語言,其三大特性必不可少。
1.封裝是乙個很重要的概念,它避免外界直接訪問或修改物件的屬性,可以過濾不合理的值,讓外界不必關心內部的細節。通過set方法來讓外部設定成員的屬性值,通過get方法來獲得物件屬性值。
#import @inte***ce student : nsobject
- (void)setage:(int)newage; // set方法的宣告,函式名和引數用:隔開,返回值一定是void型
- (int)age; // get方法的宣告
- (void)study;
@end
@implementation student
- (void)setage:(int)newage // set方法的實現
_age = newage;
}- (int)age // get方法的實現
- (void)study
@end
int main()
注意事項:
set方法
1.作用: 提供乙個方法給外界設定成員變數值,可以在方法裡面對引數進行相應過濾
2.命名規範:
1> 方法名必須以set開頭
2> set後面跟上成員變數的名稱,成員變數的首字母必須大寫
3> 返回值一定是void
4> 一定要接收乙個引數,而且引數型別跟成員變數型別一致
5> 形參的名稱不能跟成員變數名一樣
get方法
1.作用:返回物件內部的成員變數
2.命名規範:
1> 肯定有返回值,返回值型別肯定與成員變數型別一致
2> 方法名跟成員變數名一樣
3> 不需要接收任何引數
繼承可以實現之類與類之間的關係,抽取的公共**,在原有的基礎上擴充了方法。缺點是耦合性太強。
#import // person
@inte***ce person : nsobject
- (void)setage:(int)age;
- (int)age;
- (void)run;
+ (void)test; //類方法,以+號開頭
@end
@implementation person
+ (void)test //類方法實現
- (void)run
- (void)setage:(int)age
- (int)age
@end
@inte***ce student : person // student子類
+ (void)test2;
@end
@implementation student
- (void)run // 重寫:子類重新實現父類中的某個方法,覆蓋父類以前的做法
+ (void)test2
@end
int main()
繼承的使用場合:
1>它的所有屬性都是你想要的,一般就繼承
2>它的部分屬性是你想要的,可以抽取出另乙個父類
3>多型是把不同的之類當做父類來看,可以遮蔽不同之類之間的差異,寫出通用的**,作出通用的程式設計,以適應需求的變化。之類物件賦值給父類指標,父類指標來訪問對應的屬性和方法。
@inte***ce animal : nsobject
- (void)eat;
@end
@implementation animal- (void)eat
@end@inte***ce dog : animal //狗之類繼承動物父類- (void)run; //增加跑方法
@end
@implementation dog- (void)run
- (void)eat //重寫方法
@end
@inte***ce cat : animal //之類貓繼承父類動物
@end
@implementation cat
- (void)eat //重寫方法
@end
int main()
黑馬程式設計師 OC 物件導向三大特性
封裝 一 set方法和get方法 1.set方法和get方法的使用場合 public的成員可以被隨意賦值,應該使用set方法和get方法來管理成員的訪問 set方法 1 作用 用來設定成員變數,可以在方法裡面過濾掉一些不合理的值 2 命名規範 方法都是以set開頭,而且後面跟上成員變數名,成員變數名...
黑馬程式設計師 OC三大特徵
物件導向的三大特徵 封裝 繼承 多型 一 封裝 成員變數的封裝 set方法和 get方法 set方法 能修飾內部變數 1 作用 提供乙個方法,讓外界設定成員變數的值,可以在方法裡面對引數進行過濾 2 命名規範 1 方法名必須以set開頭 2 set後面跟上成員變數的名稱,成員變數首字母必須大寫 3 ...
黑馬程式設計師 04 三大特性
三大特性 封裝 繼承和多型 1 set 方法和get方法 public型別的成員可以被隨意訪問,應該使用 set方法和 get方法來管理成員的訪問,這樣做可以達到過濾不合理的值 遮蔽內部的賦值過程 讓外界不必關注內部的細節等好處 2 set方法 3 get方法 4 示例 import 宣告 inte...