Thông tin tài liệu:
Gói và giao diện là hai thành phần chính của chương trình Java. Các gói được lưu trữ theo kiểu phâncấp, và được nhập (import) một cách tường minh vào những lớp mới được định nghĩa. Các giao diện cóthể được sử dụng để chỉ định một tập các phương thức. Các phương thức này có thể được hiện thực bởimột hay nhiều lớp.
Nội dung trích xuất từ tài liệu:
Giáo trình java cơ bản - Chương 4Chương4: CÁCGÓI&GIAODIỆNMụctiêubàihọcKếtthúcchươngnày,cácbạncóthể: Địnhnghĩamộtgiaodiện Càiđặtmộtgiaodiện Sửdụnggiaodiệnnhưlàmộtkiểudữliệu Địnhnghĩagói Tạovàsửdụngcácgói Vaitròcủacácgóitrongviệcđiềukhiểntruycập Nhữngthànhphầncủagóijava.lang Nhữngthànhphầncủagóijava.util4.1GiớithiệuGóivàgiaodiệnlà haithànhphầnchínhcủachươngtrìnhJava.Cácgói đượclưutrữ theokiểuphân cấp,vàđượcnhập(import)mộtcáchtườngminhvàonhữnglớpmớiđượcđịnhnghĩa.Cácgiaodiệncó thểđượcsửdụngđểchỉđịnhmộttậpcácphươngthức.Cácphươngthứcnàycóthểđượchiệnthựcbởi mộthaynhiềulớp.MộttậptinnguồnJavacóthểchứamộthoặctấtcảbốnphầnsauđây: Mộtcâulệnhkhaibáogói(package). Nhữngcâulệnhnhậpthêmcácgóihoặccáclớpkhácvàochươngtrình(import). Mộtkhaibáolớpcôngcộng(public) Mộtsốcáclớpdạngriêngtư(private)củagói.67 Core JavaMộttậptinnguồnJavasẽcókhaibáolớppublicđơn.Tấtcảnhữngphátbiểukháctuỳchọn.Chươngtrìnhnênđượcviếttheothứtự:đặttêngói(package),lệnhnhậpcácgói(import),vàđịnhnghĩalớp(class).4.2CácgiaodiệnGiaodiệnlàmộttrongnhữngkháiniệmquantrọngnhấtcủangônngữ Java.Nó chophépmộtlớpcó nhiềulớpcha(superclass).CácchươngtrìnhJavacóthểthừakếchỉmộtlớptạimộtthờiđiểm,nhưng cóthểhiệnthựchàngloạtgiaodiện.Giaodiệnđượcsửdụngđểthaythếmộtlớptrừutượng,khôngcó mộtsựkếthừamãthựcthinào.Giaodiệntươngtựnhưcáclớptrừutượng.Sựkhácnhauởchỗmộtlớp trừutượngcóthểcónhữnghànhvicụthể,nhưngmộtgiaodiệnthì khôngthểcó mộtphươngthứccụthể nàocó hànhvicủacủariêngmình.Cácgiaodiệncần đượchiệnthực.Mộtlớptrừutượngcó thểđượcthừakế,nhưngkhôngthểtạorađượcthểhiện(đốitượng).Cácbướcđểtạomộtgiaodiệnđượcliệtkêởdướiđây: Địnhnghĩagiaodiện:Mộtgiaodiệnđượcđịnhnghĩanhưsau:Chươngtrình4.1//Giaodiệnvớicácphươngthứcpublicinterfacemyinterface{publicvoidadd(intx,inty);publicvoidvolume(intx,inty,intz);}//Giaodiệnđểđịnhnghĩacáchằngsốpublicinterfacemyconstants{publicstaticfinaldoubleprice=1450.00;publicstaticfinalintcounter=5;}Các Gói & Giao Diện 68 Chươngtrìnhtrênđượcdịchnhưsau: javacmyinterface.java Mộtgiaodiện đượchiệnthựcvớitừ khoá “implement”.Trongtrườnghợptrên,giaodiệncho phépứngdụngmốiquanhệ“isa”.Vídụ: classdemoimplementsmyinterface Nếunhiềuhơnmộtgiaodiện đượcthựcthi,cáctênsẽ đượcngăncáchvớinhaubởimộtdấu phẩy.Điềunàyđượctrìnhbàynhưsau: classDemoimplementsMyCalc,MycountHãyghinhớcáclưuýsautrongkhitạomộtgiaodiện: Tấtcảcácphươngthứctrongcácgiaodiệnnàyphảilàkiểupublic. Cácphươngthứcđượcđịnhnghĩatrongmộtlớpmàlớpnàyhiệnthựcgiaodiện. 4.2.1HiệnthựcgiaodiệnCácgiaodiệnkhôngthể thừakế (extends)cáclớp,nhưngchúngcó thể thừakế cácgiaodiệnkhác. Nếukhibạnhiệnthựcmộtgiaodiệnmàthừakếcácgiaodiệnkhác,bạnđịnhnghĩađè( override)cácphươngthứctronggiaodiệnmớigiaodiệnđãthừakế.Trongvídụtrên,cácphươngthứcchỉđượckhaibáo,màkhông được địnhnghĩa.Cácphươngthứcphảiđượcđịnhnghĩatrongmộtlớpmàlớpđó hiện thựcgiaodiệnnày.Nóimộtcáchkhác,bạncầnchỉ rahànhvicủaphươngthức.Tấtcả cácphương thứctrongcácgiaodiệnphảilà kiểu public.Bạnkhông đượcsử dụngcácbổ ngữ (modifers)chuẩnkhácnhưprotected,private,..khikhaibáocácphươngthứctronggiaodiện.ĐoạnmãChươngtrình4.2biểudiễnmộtgiaodiệnđượccàiđặtnhưthếnào:Chươngtrình4.2importjava.io.*;classDemoimplementsmyinterface{publicvoidadd(intx,inty){69 Core JavaSystem.out.println(““+(x+y));//Giảsửphươngthứcaddđượckhaibáotronggiaodiện}publicvoidvolume(intx,inty,intz){System.out.println(““+(x*y*z));//Giảsửphươngthứcvolumeđượckhaibáotronggiaodiện}publicstaticvoidmain(Stringargs[]){Demod=newDemo();d.add(10,20);d.volume(10,10,10);}}Khibạn địnhnghĩamộtgiaodiệnmới,có nghĩalà bạn đang địnhnghĩamộtkiểudữ liệuthamchiếumới.Bạncóthểsửdụngc ...