static class Program
{
/// <summary>
/// 應(yīng)用程序的主入口點(diǎn)。
/// </summary>
[STAThread]
static void Main()
{
OptertorAdd op = new OptertorAdd();
op.GetResult(1, 2);
}
}
/// <summary>
/// 父類 Created:ChenHu date:2013326
/// </summary>
public class Opreator
{
//不想暴漏在外的私有變量可以用屬性封裝起來
private double _numA;
private double _numB;
public double NumA
{
get { return _numA; }
set { _numA = value; }
}
public double NumB
{
get { return _numB; }
set { _numB = value; }
}
public virtual double GetResult(int a, int b)
{
double result = 0;
//------------------------------------------
//TODO:可以處理需要影藏的邏輯,這也是new或則說虛方法隱藏的邏輯的一種手段,隱藏的邏輯可以是員工的薪資計(jì)算等保密操作
//------------------------------------------
result = _numA + _numB;
return result;
}
}
/// <summary>
/// 派生類 Created:ChenHu date:2013326
/// </summary>
class OptertorAdd : Opreator
{
public override double GetResult(int a, int b)
{
//這里base的邏輯可以放在自己邏輯之前也可以放在自己邏輯的后面
//這里的位置其實(shí)很有講究哦,邏輯不對可能會引起報(bào)錯(cuò)。
//如把base邏輯放在自己邏輯之前,在父類中 _numA + _numB=0;因?yàn)槟氵€沒賦值
base.GetResult(a, b);
NumA = a;
NumB = b;
double result = 0;
result = NumA + NumB;
//父類邏輯在此位置 _numA + _numB=3;
//base.GetResult(a, b);
return result;
}
}
/// <summary>
///首先創(chuàng)建一個(gè)工廠,這里我們通過向上轉(zhuǎn)型實(shí)現(xiàn)多態(tài)
///這里我們試用靜態(tài)字段的原因就是:
///這個(gè)類可能調(diào)用的次數(shù)很大,我們最好讓其閑在內(nèi)存加載好
/// </summary>
/// <remarks>
/// 可以這樣理解多態(tài):一個(gè)賣豬肉的爹生了好幾個(gè)兒子(兒子都具有爹的基因此為繼承),
/// 每個(gè)兒子的工作都不一樣,有賣西瓜的賣土豆的,這個(gè)時(shí)候,
/// 如果爹想吃西瓜了就會找到賣西瓜的兒子要,如果想吃土豆也是一樣的。如果想吃豬肉,
/// 但是沒有賣肉的兒子怎么辦呢? 呵呵 生一個(gè)賣豬肉的兒子就行了,雖然有點(diǎn)夸張,但是這是多態(tài)的本質(zhì)。
/// </remarks>
public static class OptetaionFactory
{
/// <summary>
/// Frank 2013327
/// </summary>
/// <param name="oper">計(jì)算符號,根據(jù)不同的符號返回不同的計(jì)算類實(shí)體</param>
/// <returns>計(jì)算類</returns>
public static Opreator OptertCreate(String oper)
{
Opreator opretaor = null;
switch (oper)
{
case "+":
//向上轉(zhuǎn)型:子類->父類
opretaor = new OptertorAdd();
break;
//TODO:這里可以根據(jù)需要然后從父類派生出更多的子類實(shí)例:這就是多態(tài)了
}
return opretaor;
}
}
當(dāng)前名稱:繼上一篇代碼向上轉(zhuǎn)型實(shí)現(xiàn)多態(tài)
文章源于:http://www.chinadenli.net/article22/gpdjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、關(guān)鍵詞優(yōu)化、App設(shè)計(jì)、動態(tài)網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)