Lab04

Embed Size (px)

Citation preview

Bi 04:I.

TON T (OPERATOR)

MC TIU:Gii thiu s lc v cc php ton (operator), ng dng cch s dng lp vo chng trnh chnh

II.

TM TT L THUYT: 1. nh nghaTon t l cng c dng thao tc d liu . Mt ton t l mt k hiu dng i din cho mt thao tc c th no c thc hin trn d liu. Cng nh cc phng thc xy dng bi 03, chng ta c php nh ngha cc php ton cho lp i tng. c th hiu r hn cc php ton trong lp i tng, ta xt v d nh ngha ton t + v cho i tng CPhanSo xy dng bi 03.

V dPhng php khng s dng ton t: Gi s ta cn cng 2 phn s. Ta nh ngha hm cng nh sau:public CPhanSo tong(CPhanSo a) { CPhanSo res = new CPhanSo(); res.TuSo = return res; } this.TuSo * a.MauSo + this.MauSo * a.TuSo; res.MauSo = this.MauSo * a.MauSo;

Trong chng trnh chnh, ta gi hm ny nh sau:static void Main(string[] args) { CPhanSo a = new CPhanSo(2,1); CPhanSo b = new CPhanSo(2, 2); c = b.tong(a); c.Xuat(); }

Nhn xt: c th thc hin cc phng thc cng, tr, nhn, chia, ta phi vit : CPhanSo tng = s_th_nht.cng(s_th_hai) Cch s dng nh vy mang nng tnh cht th hin phng thc cng, ch khng phi l php cng. Do , n khng th hin y v mt ngha. Ta xt cch vit th 2 nh sau

Khoa CNTT Trng H Cng Ngh Si Gn

Trang 1

Bi 04:

TON T (OPERATOR)

Phng php s dng ton t Gi s lp CPhanSo c nh ngha 2 hm cng tr nh saupublic static CPhanSo cong(CPhanSo a,CPhanSo b) { //Xy dng hm cng 2 phn s, kt qu tr v // l 1 phn s mi l tng ca 2 phn s. CPhanSo result = new CPhanSo(); result.TuSo = a.TuSo * b.MauSo + a.MauSo * b.TuSo; result.MauSo = a.MauSo * b.MauSo; return result; } public static CPhanSo tru(CPhanSo a, CPhanSo b) { //Xy dng hm tr 2 phn s, kt qu tr v // l 1 phn s mi l hiu ca 2 phn s CPhanSo result = new CPhanSo(); result.TuSo = a.TuSo * b.MauSo - a.MauSo * b.TuSo; result.MauSo = a.MauSo * b.MauSo; return result; }

Da vo 2 hm cng tr c nh ngha, ta xy dng 2 php ton + v p dng cho lp phn s nh sau:public static CPhanSo operator +(CPhanSo a, CPhanSo b) { return cong(a,b); } public static CPhanSo operator -(CPhanSo a,CPhanSo b) { return tru(a,b); } Trong chng trnh chnh, ta gi nh sau: static void Main(string[] args) { CPhanSo a = new CPhanSo(2,1);

Khoa CNTT Trng H Cng Ngh Si Gn

Trang 2

Bi 04:

TON T (OPERATOR)CPhanSo b = new CPhanSo(2, 2); CPhanSo c = new CPhanSo(); c = a - b; c.Xuat();

}

Tng qut: CPhanSo tng = s_th_nht + s_th_hai; R rng, i vi cch vit ny, ta hiu r hn bn cht ca php ton, ch khng mang nng ngha l phng thc. 2. Cch s dng Trong C#, cc ton t l cc phng thc tnh, kt qu tr v l gi tr biu din kt qu ca 1 php ton ng vi cc tham s l cc ton hng. Khi to ton t cho 1 lp i tng, ta phi np chng ton t. C php np chng ton t nh saupublic static operator () So snh nh hn (=) So snh nh hn hoc bng (