Danh mục

Bài giảng lập trình DOT NET - Bài 5 Hướng đối tượng C# (tt)

Số trang: 33      Loại file: ppt      Dung lượng: 219.00 KB      Lượt xem: 13      Lượt tải: 0    
Jamona

Phí tải xuống: 8,000 VND Tải xuống file đầy đủ (33 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Hiểu được khái niệm kế thừa, đa hình. Tầm quan trong của vấn đề này trong LTHĐT.Biết cách thực thi kế thừa, sử dụng các kiểu đa hình khác nhau.Xây dựng lớp cài đặt giao diện, thực thi các giao diện khác nhau.Một số giao diện chuẩn trong thư viện C#.
Nội dung trích xuất từ tài liệu:
Bài giảng lập trình DOT NET - Bài 5 Hướng đối tượng C# (tt) Hướng đối tượng C# (tt) Bài5 Yêu cầu Hiểuđượckháiniệmkếthừa,đahình. Tầmquantrongcủavấnđềnàytrong LTHĐT. Biếtcáchthựcthikếthừa,sửdụngcác kiểuđahìnhkhácnhau. Xâydựnglớpcàiđặtgiaodiện,thựcthi cácgiaodiệnkhácnhau. Mộtsốgiaodiệnchuẩntrongthưviện C#.Đặc biệt hóa, tổng quát hóa Lớpvàthểhiệncủalớptuykhôngtồntại trongcùngmộtkhối,nhưngchúngtồntại trongmộtmạnglướiphụthuộcvàquan hệlẫnnhau Đặcbiệthóavàtổngquáthóalàhaimối quanhệđốingẫuvàphâncấpvớinhauĐặc biệt hóa, tổng quát hóa Vídụ:Tacóthểnóixemáy,ôtôlàtrườnghợp đặcbiệtcủaxe,vì:ngoàinhữngđặcđiểmcủa xenóichung,xemáyvàôtôcòncónhữngđặc điểmriêng. TươngtựHonda,Suzuki,Yamahalànhững trườnghợpđặcbiệtcủaxemáy BMW,Nissan,Toyota,Honda,Huyndailà nhữngtrườnghợpđặcbiệtcủaxeôtôSự kế thừa (inheritance) TrongC#quanhệđặcbiệthóađược thựcthibằngcáchsửdụngsựkếthừa. Đâylàcáchchungnhất,tựnhiênnhấtđể thựcthiquanhệnàyTacóthểnóixemáy,ôtôđượckếthừa haydẫnxuấttừlớpXe.LớpXeđượccoi làlớpcơsở,xemáy,ôtôđượccoilàlớp dẫnxuất.Thực thi kế thừaĐểtạomộtlớpdẫnxuấttừmộtlớptathêmdấuhaichấmvàosautênlớpvàtrướctêncủalớpcơsở.publicclassXeMay:XepublicclassOto:XeLớpdẫnxuấtsẽkếthừatấtcảphươngthức,biếnthànhviêncủalớpcơsở.LớpdẫnxuấtcũngcóthểtạophươngthứcmớibằngviệcđánhdấuvớitừkhóanewSử dụng lớp dẫn xuấtnamespaceExample{publicclassXe{privatestringname;publicXe(stringname){this.name=name;}publicvoidWho(){Console.WriteLine(Toilamotchiecxe); }}Sử dụng lớp dẫn xuấtpublicclassXeMay:Xe{privateintsobanh;publicXeMay(stringname,intsobanh):base(name){this.sobanh=sobanh;}publicnewvoidWho(){base.Who();Console.WriteLine(Xemay{0} banh,sobanh);}} }Sử dụng lớp dẫn xuất classTester { staticvoidMain() { Xexe1=newXe(“Xe”); xe1.Who(); XeMayxe2=newXeMay(“Xemay”,2); xe2.Who(); } }Gọi phương thức khởi dựng Cáclớpkhôngđượckếthừaphươngthức khởidựngcủalớpcơsở,dođólớpdẫnxuất phảithựcthiphươngthứckhởidựngcủa riêngnó. Chỉcóthểsửdụngphươngthứckhởidựng củalớpcơsởthôngquaviệcgọitường minh. publicXeMay(stringname,intsobanh):base(name)Đa hình (polymorphism) Đahìnhlàkhảnăngchophépgởicùngmột thôngđiệpđếnnhữngđốitượngkhácnhaucó cùngchungmộtđặcđiểm,nóicáchkhácthông điệpđượcgởiđikhôngcầnbiếtthựcthểnhận thuộclớpnào,chỉbiếtrằngtậphợpcácthực thểnhậncóchungmộttínhchấtnàođó. VD:thôngđiệp“vẽhình”đượcgởiđếncảhaiđối tượnghìnhhộpvàhìnhtròn.Tronghaiđốitượngnày đềucóchungphươngthứcvẽhình,tuynhiêntuỳ theothờiđiểmmàđốitượngnhậnthôngđiệp,hình tươngứngsẽđượcvẽlên.Phương thức đa hình Đểtạomộtphươngthứcđahình,cầnkhaibáo khóavirtualtrongphươngthứccủalớpcơsở. Vídụ:publicvirtualvoidWho() Lúcnàycáclớpdẫnxuấtđượctựdothựcthicác cáchxửlýcủariêngmìnhtrongcácphiênbản mớicủaphươngthứcWho(). Đểlàmđượcđiềunàycầnthêmtừkhóaoverride đểchồnglênphươngthứcảoWho()củalớpcơ sở.Phương thức đa hìnhnamespaceExample{publicclassXe{privatestringname;publicXe(stringname){this.name=name;}publicvirtualvoidWho(){Console.WriteLine(Toilamotchiecxe); }}Phương thức đa hìnhpublicclassXeMay:Xe{privateintsobanh;publicXeMay(stringname,intsobanh):base(name){this.sobanh=sobanh;}publicoverridevoidWho(){base.Who();Console.WriteLine(Xemay{0} banh,sobanh);}} }Phương thức đa hình classTester { staticvoidMain() { Xexe1=newXe(“Xe”); xe1.Who(); XeMayxe2=newXeMay(“Xemay”,2); xe2.Who(); Xe[]xeArr=newXe[3]; xeArr[0]=newXe(“Xe”); xeArr[1]=newXeMay(“Xemay1”,2); xeArr[2]=newXemay(“Xemay2”,2); for(inti=0;iLớp trừu tượng (abstract) MỗilớpconcủalớpXenênthựcthimộtphương thứcWho(),nhưngđiềunàykhôngbắtbuộc.Để yêucầucáclớpconphảithựcthimộtphươngthức củalớpcơsở,chúngtaphảithiếtkếmộtcách trừutượng. ...

Tài liệu được xem nhiều: