1.關於實現ienumrable介面的類
在類進行初始化時候,可以呼叫實現的add方法
class
demo
:ienumerable
public
ienumerator
getenumerator()
}
如乙個實現ienumerable的類demo,在例項化的時候可以這樣寫
demo demo =
newdemo()
;console.
writeline
(demo.a)
;
public
ienumerator
getenumerator()
=>
this
.getenumerator()
;
如果是要在類裡面儲存另一種類的集合,要繼承的介面為
ienumerable
要實現的方法還要加上
ienumerator ienumerable
.getenumerator()
2.使用類管理另乙個類物件集合
①先宣告乙個stock類
class
stock
public
double gainloss
}
string的名字 和double的盈虧
②宣告乙個管理類stockportfolio
class
stockprotfolio
:ienumerable
//實現add方法,以便對_stocks新增資料
public
void
add(
string ticker,
double gainloss));
}//進行公升序排序,並且返回存有前topnumber的ienumerable的集合
public ienumerable
getworstperformers
(int topnumber)
=>
_stocks.
orderby((
stock stock)
=> stock.gainloss)
.take
(topnumber)
;//從_stocks中刪除與ienumerable中相同的資料
public
void
sellstocks
(ienumerable stocks)
}//列印_stocks中的內容
public
void
printportfolio
(string title)
: ");
}}//獲得列舉器
public ienumerator
getenumerator()
=>
_stocks.
getenumerator()
;//獲得列舉器
ienumerator ienumerable.
getenumerator()
=>
this
.getenumerator()
;}
乙個儲存stock類物件的list,其餘的都是對這個list的操作
③使用
stockprotfolio tech =
newstockprotfolio()
,,,,
,,,,
};tech.
printportfolio
("starting protfolio");
//刪除收益倒數的三個值
var worstperformers = tech.
getworstperformers(3
);console.
writeline
("selling the worst performers:");
foreach
(var item in worstperformers)
:");}
tech.
sellstocks
(worstperformers)
; tech.
printportfolio
("after selling worst 3 performers");
}
乙個類作為另乙個類的資料成員
寫程式的時候希望乙個類能夠訪問另乙個類的資料成員 protected,private 例如類a要訪問類b中的資料成員。1.保持封裝性 可以通過在被訪問的類 b 中定義訪問許可權為public的函式,用來返回資料成員的引用。2.繼承 當乙個派生類從父類繼承時,父類的所有成員就成為子類的成員,因此可以將...
c 類的巢狀,即乙個類中含有另乙個類的物件
下面給出兩個案例 自己體會 案例一 定義乙個人,人拿著某牌子的手機,手機號為 include include using namespace std class phone phone class person person intmain 案例二 定義乙個三角形類求面積,再定義乙個三角錐類求體積。...
把乙個類封裝到另乙個類中 Python
物件的封裝 將乙個類的物件,封裝到,另乙個類中的方法中去 class teacher def init self,tea name,tea age self.teacher name tea name self.teacher age tea age self.salary 2000 老師的初始工資...