三大特性:
封裝、繼承和多型
1、set
方法和get方法
@public型別的成員可以被隨意訪問,應該使用
set方法和
get方法來管理成員的訪問,這樣做可以達到過濾不合理的值;遮蔽內部的賦值過程;讓外界不必關注內部的細節等好處 2、
set方法
3、get方法
4、**示例
#import // 宣告
@inte***ce car : nsobject
/*set方法*/
- (void) setwheels:(int)wheels;
/*get方法*/
- (int) wheels;
@end
@implementation car
// set方法的實現
- (void) setwheels:(int)wheels
_wheels = wheels;}
// get方法的實現
- (int) wheels
@end
1、繼承的基本用法
類名:dog
屬性:年齡(_age)
方法:run
類名:cat
屬性:年齡(_age)
方法:run
現在有兩個類dog
、cat
,有相同的屬性
age和方法
run,可以抽出乙個父類animal
擁有共同的屬性和方法,**如下:
#import /**********animal的宣告******************/
@inte***ce animal : nsobject
- (void)setage:(int)age;
- (int)age;
- (void)run;
@end
/**********animal的實現******************/
@implementation animal
- (void)setage:(int)age
- (int)age
- (void)run
@end
/**********dog的宣告和實現******************/
@inte***ce dog : animal
@end
@implementation dog
@end
/**********cat的宣告和實現******************/
@inte***ce cat : animal
@end
@implementation cat
@end
繼承結構如下
這樣可以抽取兩個類中的重複**,建立類之間的關係
注意:2、子類在父類的基礎上拓充屬性和方法
@inte***ce dog : animal
- (void)eat;
@end
@implementation dog
- (void)eat
@end
子類dog
新建了成員變數
weight
和方法eat
,同時擁有父類
animal
的成員變數和方法
注意:3、使用場合
1) 當兩個類擁有相同屬性和方法的時候,就可以將相同的東西抽取到乙個父類中
2) 當
a類擁有
b類中的部分屬性和方法時,可以考慮讓
b類繼承a類
4、super
1、基本概念
oc物件具有多型性,多型可以理解為多種形態,而且多型是在繼承的基礎上才產生的,可以說是沒有繼承就沒有多型。
2、**體現
以繼承中的類為例子
建立dog
型別的物件一般為
dog *d = [dog new];
利用多型為
animal *a = [dog new];
[a run];
3、多型的好處
如果函式、方法引數中使用的是父類型別,可以傳入父類子類物件
示例:
dog *d = [dog new];
cat *c = [cat new];
void pao(animal *a)
pao(d);
pao(c);
4、多型的侷限性
父類型別的變數不能直接呼叫子類特有的方法,必須強制轉換為子類型別的變數後,才能直接呼叫子類特有的方法。
示例:
animal *aa = [dog new];
[aa run]; // 不能直接呼叫
// 強制轉換
dog *dd= (dog *) aa;
[dd run];
黑馬程式設計師 OC物件的三大特性
oc語言是物件導向的語言,其三大特性必不可少。1.封裝是乙個很重要的概念,它避免外界直接訪問或修改物件的屬性,可以過濾不合理的值,讓外界不必關心內部的細節。通過set方法來讓外部設定成員的屬性值,通過get方法來獲得物件屬性值。import inte ce student nsobject void...
黑馬程式設計師 OC 物件導向三大特性
封裝 一 set方法和get方法 1.set方法和get方法的使用場合 public的成員可以被隨意賦值,應該使用set方法和get方法來管理成員的訪問 set方法 1 作用 用來設定成員變數,可以在方法裡面過濾掉一些不合理的值 2 命名規範 方法都是以set開頭,而且後面跟上成員變數名,成員變數名...
黑馬程式設計師 OC三大特徵
物件導向的三大特徵 封裝 繼承 多型 一 封裝 成員變數的封裝 set方法和 get方法 set方法 能修飾內部變數 1 作用 提供乙個方法,讓外界設定成員變數的值,可以在方法裡面對引數進行過濾 2 命名規範 1 方法名必須以set開頭 2 set後面跟上成員變數的名稱,成員變數首字母必須大寫 3 ...