OC語言筆記(五) OC封裝和復合

2021-07-11 20:30:30 字數 1626 閱讀 4793

一、繼承、封裝、類別的總結

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就好像隱藏在時鐘內部的構造實現,把具體的實現封裝了起來。在開發過程中,考慮到安全性...