Bài giảng Lập trình hướng đối tượng trong C #: Chương 6 - GV. Phạm Mạnh Cương
Số trang: 12
Loại file: ppt
Dung lượng: 150.50 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong mục tiêu của chương 6 Nạp chồng toán tử của bài giảng Lập trình hướng đối tượng trong C # trình bày về toán tử, cách dùng từ khóa operator, các toán tử logic hai ngôi, toán tử chuyển đổi kiểu và các ví dụ minh họa.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng trong C #: Chương 6 - GV. Phạm Mạnh CươngChương6:NạpchồngtoántửNộidung Toántử(operator) Cáchdùngtừkhoáoperator Cáctoántửlogichaingôi Toántửchuyểnđổikiểu(épkiểu) Vídụ Toántử(operator) TrongC#,toántửlàmộtphươngthứctĩnhdùngđểcaiđătmộtphéptoánnàođótrên ̀ ̣cácđốitượng.Mụcđíchcủatoántửlàđểviếtmãchươngtrìnhgọngàng,dễhiểuhơn,thayvìphảigọiphươngthức.Tacóthểcàiđặtcáctoántửsau: Toánhọc:+,,*,/,%. Cộngtrừmộtngôi:++,,. Quanhệsosánh:==,!=,>,=, Chúýo Thamsốcủatoántửphảilàthamtrị(khôngdùngcáctừ khóaref,out).o Khôngđượccàitoántử=(gán),&&,||(and,orlogic),?: (điềukiện),checked,unchecked,new,typeof,as,is khôngđượcxemlàmộttoántử.o Khicàiđặtcáctoántửdạng:+,,*,/,%thìcáctoántử +=,=,*=,/=,%=cũngtựđộngđượccàiđặt. Chúý(tt)o Khicàiđặttoántửthìnêncàiđặttheocặpđốingẫu. Chẳnghạn,khicàiđặttoántử==thìquátảithêmtoántử !=…o Khiđịnhnghĩatoántửépkiểutaphảichỉrađâylàtoán tửépkiểungầmđịnh(implicit)haytườngminh(explicit). CáchdùngtừkhoáoperatorVídụpublicstaticFractionoperator+(Fractionlhs,Fractionrhs) Sựhữuíchcủacáctoántử: Cáctoántửđượcnạpchồng cóthểgiúpchođoạnmãnguồncủatadễnhìnhơn, dễquảnlývàtrongsánghơn. Tuy nhiênnếu ta quá lạmdụng đưa vào các toántử quá mới hay quá riêng sẽ làm cho chương trình khó sửdụngcáctoántửnàymàđôikhicòncócácnhầm lẫnvôvịnữaCáctoántửlogichaingôi Cáctoántửkháphổbiếnlà (==)sosánhbằnggiữhaiđốitượng, (!=)sosánhkhôngbằng, ()sosánhlớnhơn, (=)tươngứngnhỏhơnhaybằngvàlớnhơnhaybằng Làcáctoántửphảicócặptoánhạnghaygọilàcáctoántử haingôi. Toántửchuyểnđổikiểu(épkiểu) TrongC#,khitachuyểntừkiểuthấphơn(kíchthướcnhỏ) lênkiểucaohơn(kíchthướclớn)thìviệcchuyểnđổinày luônthànhcôngnhưngkhichuyểntừkiểucaoxuốngkiểu thấpcóthểtasẽmấtthôngtinCúphápđịnhnghĩatoántửépkiểu: publicstatic[implicit|explicit]operatorKiểuTrảVềT(TypeV)trongđóTypeVlàbiếncầnépsangkiểuKiểuTrảVềT. Vídụ:xâydựnglớpphânsốvàcàiđặtcác phéptoántrênphânsố.usingSystem; //ChuyendoingamdinhtusonguyensangphanclassPhanSo so{ publicstaticimplicitoperatorPhanSo(inttheInt)intTu,Mau;//privatemembers {//constructor Console.WriteLine(ChuyendoingamdinhtusopublicPhanSo(intTuSo,intMauSo) nguyensangphanso);{ returnnewPhanSo(theInt);Tu=TuSo; }Mau=MauSo; //Chuyendoituongminhphansosangso nguyen;}//constructor publicstaticexplicitoperatorint(PhanSoPS)publicPhanSo(intHoleNumber) { returnPS.Tu/PS.Mau;{Tu=HoleNumber; }Mau=1;}//constructorpublicPhanSo(){Tu=0;Mau=1;} Vídụ:xâydựnglớpphânsốvàcàiđặt cácphéptoántrênphânsố(tt)//toantusosanh== //Tangphansothemmotdonvi!publicstaticbooloperator==(PhanSoPS1,PhanSoPS2) publicstaticPhanSooperator++(PhanSoPS){ {return(PS1.Tu*PS2.Mau==PS2.Tu*PS1.Mau); PS.Tu=PS.Mau+PS.Tu;} returnPS;//Toantusosanh!=; }publicstaticbooloperator!=(PhanSoPS1,PhanSoPS2) //epphansovegiatriTrue,falsedetraloicau{ //doi:daycophailamotphansohoplehaykhongreturn!(PS1==PS2); publicstaticimplicitoperatorbool(PhanSoPS)} {//phongthucsosanh2phansocobangnhauhaykhong returnPS.Mau!=0;publicoverrideboolEquals(objecto) }{ //PhuongthucdoiphansothanhchuoiConsole.WriteLine(PhuongthucEquals); publicoverridestringToString()if(!(oisPhanSo))returnfalse; {returnthis==(PhanSo)o; Strings=Tu.ToString()+/+Mau.ToString(} ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng trong C #: Chương 6 - GV. Phạm Mạnh CươngChương6:NạpchồngtoántửNộidung Toántử(operator) Cáchdùngtừkhoáoperator Cáctoántửlogichaingôi Toántửchuyểnđổikiểu(épkiểu) Vídụ Toántử(operator) TrongC#,toántửlàmộtphươngthứctĩnhdùngđểcaiđătmộtphéptoánnàođótrên ̀ ̣cácđốitượng.Mụcđíchcủatoántửlàđểviếtmãchươngtrìnhgọngàng,dễhiểuhơn,thayvìphảigọiphươngthức.Tacóthểcàiđặtcáctoántửsau: Toánhọc:+,,*,/,%. Cộngtrừmộtngôi:++,,. Quanhệsosánh:==,!=,>,=, Chúýo Thamsốcủatoántửphảilàthamtrị(khôngdùngcáctừ khóaref,out).o Khôngđượccàitoántử=(gán),&&,||(and,orlogic),?: (điềukiện),checked,unchecked,new,typeof,as,is khôngđượcxemlàmộttoántử.o Khicàiđặtcáctoántửdạng:+,,*,/,%thìcáctoántử +=,=,*=,/=,%=cũngtựđộngđượccàiđặt. Chúý(tt)o Khicàiđặttoántửthìnêncàiđặttheocặpđốingẫu. Chẳnghạn,khicàiđặttoántử==thìquátảithêmtoántử !=…o Khiđịnhnghĩatoántửépkiểutaphảichỉrađâylàtoán tửépkiểungầmđịnh(implicit)haytườngminh(explicit). CáchdùngtừkhoáoperatorVídụpublicstaticFractionoperator+(Fractionlhs,Fractionrhs) Sựhữuíchcủacáctoántử: Cáctoántửđượcnạpchồng cóthểgiúpchođoạnmãnguồncủatadễnhìnhơn, dễquảnlývàtrongsánghơn. Tuy nhiênnếu ta quá lạmdụng đưa vào các toántử quá mới hay quá riêng sẽ làm cho chương trình khó sửdụngcáctoántửnàymàđôikhicòncócácnhầm lẫnvôvịnữaCáctoántửlogichaingôi Cáctoántửkháphổbiếnlà (==)sosánhbằnggiữhaiđốitượng, (!=)sosánhkhôngbằng, ()sosánhlớnhơn, (=)tươngứngnhỏhơnhaybằngvàlớnhơnhaybằng Làcáctoántửphảicócặptoánhạnghaygọilàcáctoántử haingôi. Toántửchuyểnđổikiểu(épkiểu) TrongC#,khitachuyểntừkiểuthấphơn(kíchthướcnhỏ) lênkiểucaohơn(kíchthướclớn)thìviệcchuyểnđổinày luônthànhcôngnhưngkhichuyểntừkiểucaoxuốngkiểu thấpcóthểtasẽmấtthôngtinCúphápđịnhnghĩatoántửépkiểu: publicstatic[implicit|explicit]operatorKiểuTrảVềT(TypeV)trongđóTypeVlàbiếncầnépsangkiểuKiểuTrảVềT. Vídụ:xâydựnglớpphânsốvàcàiđặtcác phéptoántrênphânsố.usingSystem; //ChuyendoingamdinhtusonguyensangphanclassPhanSo so{ publicstaticimplicitoperatorPhanSo(inttheInt)intTu,Mau;//privatemembers {//constructor Console.WriteLine(ChuyendoingamdinhtusopublicPhanSo(intTuSo,intMauSo) nguyensangphanso);{ returnnewPhanSo(theInt);Tu=TuSo; }Mau=MauSo; //Chuyendoituongminhphansosangso nguyen;}//constructor publicstaticexplicitoperatorint(PhanSoPS)publicPhanSo(intHoleNumber) { returnPS.Tu/PS.Mau;{Tu=HoleNumber; }Mau=1;}//constructorpublicPhanSo(){Tu=0;Mau=1;} Vídụ:xâydựnglớpphânsốvàcàiđặt cácphéptoántrênphânsố(tt)//toantusosanh== //Tangphansothemmotdonvi!publicstaticbooloperator==(PhanSoPS1,PhanSoPS2) publicstaticPhanSooperator++(PhanSoPS){ {return(PS1.Tu*PS2.Mau==PS2.Tu*PS1.Mau); PS.Tu=PS.Mau+PS.Tu;} returnPS;//Toantusosanh!=; }publicstaticbooloperator!=(PhanSoPS1,PhanSoPS2) //epphansovegiatriTrue,falsedetraloicau{ //doi:daycophailamotphansohoplehaykhongreturn!(PS1==PS2); publicstaticimplicitoperatorbool(PhanSoPS)} {//phongthucsosanh2phansocobangnhauhaykhong returnPS.Mau!=0;publicoverrideboolEquals(objecto) }{ //PhuongthucdoiphansothanhchuoiConsole.WriteLine(PhuongthucEquals); publicoverridestringToString()if(!(oisPhanSo))returnfalse; {returnthis==(PhanSo)o; Strings=Tu.ToString()+/+Mau.ToString(} ...
Tìm kiếm theo từ khóa liên quan:
Nạp chồng toán tử Từ khóa operator Toán từ logic Lập trình hướng đối tượng Lập trình hướng đối tượng C # Lập trình hướng đối tượng CGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 259 0 0 -
101 trang 198 1 0
-
14 trang 131 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 111 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 92 0 0 -
265 trang 76 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 73 0 0 -
33 trang 63 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 51 0 0