一、繼承、封裝、類別的總結
1、功能
繼承:擁有父類屬性和方法、可以加方法屬性,可以改方法實現
封裝:做乙個類,做乙個方法
類別:可以加方法
2方法呼叫
繼承:父類或者子類的物件呼叫
封裝:封裝好的這個新類的物件或者類名呼叫
類別:基礎類的物件呼叫
3關於self
繼承:因為用的父類或者子類的物件呼叫的,父類或者子類的方法也是屬於這些父類或者子類,所以在這些方法中,可以把正在呼叫的父類或者子類的物件用self表示
封裝:如果用封裝的這個類的物件來呼叫,那麼物件可以在方法中用self表示,但是如果是方法中傳進來的引數的時候,這個引數不能用self來表示
類別:因為用的基礎類物件呼叫的,類別的方法又是屬於基礎類的,所有在類別的方法中,可以把呼叫方法的物件用self表示
self只能表示當前類的物件
二、復合
1、復合(大的分成幾個小的)
bigclass *big = [bigclass
alloc];//
做乙個大類的物件
//做所有的小類的物件
smallone *one = [smallone
alloc];
one.oneone = @"1";
one.onetwo = @"2";
smalltwo *two = [smalltwo
alloc];
two.twoone = @"3";
two.twotwo = @"4";
//把做好的小類物件賦值給大類中這兩個小類所對應的屬性
big.one = one;
big.two = two;
nslog(@"%@",big.one.oneone);
2、復合(大類加了一堆同樣的小類物件)
//做幾個小類的物件
insideclass *insideone = [insideclass
alloc];
insideone.infoone = @"pp";
insideone.infotwo = @"18";
insideclass *insidetwo = [insideclass
alloc];
insidetwo.infoone = @"qq";
insidetwo.infotwo = @"16";
//做乙個大類物件,並初始化大類的可變陣列
allclass *all = [allclass
alloc];
all.
insidearr
= [nsmutablearray
arraywithcapacity:0];
//把小填進大的陣列中
[all.insidearr
addobject:insideone];
[all.insidearr
addobject:insidetwo];
//當需要用的時候,從大的陣列中,找到其中乙個小的,再取得這個小的物件的某些屬性
insideclass *tempinside = [all.insidearr
objectatindex:0];
nslog(@"%@",tempinside.infoone);
OC語言 復合與繼承
1.復合 1.0 復合與繼承 描述類與類或物件與物件之間的關係有兩種方式 1.繼承 2.復合 繼承可以定義乙個具有父類所有功能的新類。復合,物件可以引用其它物件。區別 復合 has a car has a tire 包含關係 繼承 is a a male is a person 隸屬關係 1.1 復...
OC中繼承和復合
1,繼承的概念,為什麼使用繼承 繼承事面相物件語言的一大特徵,c 語言,面向過程的語言 順序,選擇,迴圈。三個特點。oc語言,物件導向的語言 封裝,繼承,多型。2 繼承的語法 1,繼承的語法 inte ce beautygirl nsobject 冒號之後表示要繼承的類 父 冒號之前表示繼承的類 子...
OC語言5 封裝
物件導向的三大特性 封裝 成員變數 繼承和多型 在oc語言中,使用 inte ce和 implementation來處理類。inte ce就好像暴露在外面的時鐘表面,像外界提供展示以及介面。implementation就好像隱藏在時鐘內部的構造實現,把具體的實現封裝了起來。在開發過程中,考慮到安全性...