DÔN vÂN BAN IÂp trinh hu6ng dưi tuqng v6i NHÂ XT BAN KHOA HOC VÂ KY THT Lịl Nơl DÂU Câc phUdng phâp httơng dơ'i tuiQng,d(ic bièt lâp trình htft9ngdơỵ tt@ng dûQc xây dung dua nhiêu khâi niQmmdi duqc hô trq bdi nhiêu công CLI,ngôn ngü lâp [8]) râ't monh giûp cho viêc tao nhüng phàn mêm t'ing clung châ't trình IüQngcao, ngày dâp ûng tơ't hdn u câu cûa ngüịi Sü dung phât triên tù dàu nhüng nâm 90 Ngôn ngü Java gâng Sun (http://java.sun.com) nhüng dâ trd thành ngôn ngü lâp trình hü6ng dơ'itüQng râ'tdüQc da chng hiQn dâ gàn dây nhị mot sơ'd4c diêm hét süc thfch hqp v6i mang Internet, triên câc dang düQc dùng phd biê'ntrên toàn thê'gidi nhàm dâp ûng câc yêu càu phât cho nhiêu ngüịi Sü clumg v6i nhüng mơi trüịng thl;ìc ûng dklng mang phk1C nàm hiên phàn kê' khâc nhau, Java mot ngơn ngü lap trình hồn chinh düQc thiê't mêm theo câch tiê'p hutƠngdơl tüQng kê' thùa, st clung lai cô nâng câ'p cûa nhüng ngôn ngü lâp trình trü6c nơ Vê m4t cü phâp, Java râ'tgiơ'ngv6i C++, mot ngơn ngü IOP trình hü6ng phd bi6n nhâ't hiên nay, nhüng dùng nhüng quâ clung (facilities) sô'tfnh khâ khô ft dùng, h04c thùa vê mat ngôn ngü [1] nhü: loai bơ kê' thùa nhiêu 16p, chüng nhân loai di mot dô'itüQng cô thd tao nhüng lüQc dô dü liQu cltxngdô thi nguyên không chfnh cô thê gây su phûc dhm bâo tfnh nhâ't quân, tfnh dûng thông tin ([10],[11]);Java din quan kiêu trơ dây ngn gơc cüa nhüng "conbQ"râ't khơ_phâChiQnra biên hit6ng dơỵ tit@ngvà dich, v.v Mk1Cdich chinh cûa Java là: ddn gidn, cdch tõn nham tỗtora nhỹng phõn mờm l'Ingdgng ctờclõp v6i môi trtùng st dvng Cuô'n sâch gidi thiêu vê lâp trình hü6ng dơ'itüQng st clung ngơn ngü lâp trình Java NQi dung chfnh cüa cn sâch ddQc trình bày müịi chüdng Chüdng I trình bày khâi qt câch tiê'pcan hü6ng lâp trình hü6ng chûc nàng dơ'i tûQng Ngơn ngü mơ hình h6a thơ'ng UML [2] düQcSü clung dd cÌ4ctâ câc khâi nièm cd bân cüa lâp trình hü6ng dơ'itüQng Chüdng II gidi thiêu chu trình phât triên cûa câc chüdng trình Java, quâ trình dich, thông dich v6i JVM (Java Virtual Machine) câc thê loai chüdng trình (ing dung, nhâ't üng clumg hün (applet) cûa Java Chüdng III chüdng IV trình bày nhüng khâi nièm cd sd nhâ't cüa mot ngôn ngü lâp trình nêu câch xây dung, td chüc 16p câc dơ'itüQng câc chüdng trình üng dklng Câc lênh diêu khiên dòng thuc hiên chüdng xü Ij ngoai lè hơ trQ dê h'ng, thfch üng nhüng ditqc vƠi mQi chüdng trình, trình h04t dQng diêu kiên cd sa kiêm biêt cd chê' tơ'ttrong mQi sôt düQc tình câc Idi, câc tình h'ngc6 thd xåy ra, duqc gidi thiQu chi tié't d chttdng V Chüdng VI d6 cap dén mot sö'16pcd Sdnhå't cåa Java vå cåc kidu cå'u trüc dü lieu Phd dung nhu kidu tuydn tap (Collection),kidu tåp hdp (Set), kidu danh såch (List), v.v Vå'n d6 phåt tridn nhüng fing dung applet vå st dung giao diQn dd hQa cåa Windows (AW-T)dudi dang cåc trang Web v6i nhi6u vi du minh hoa ddc}cgi6i thiQu d chddng VIl ChucjngVIll gi(ji thiQu cåc 16p xå Ij cåc ludng dü liQu väo/ra chuån vä nhüng vå'n dé c6 td chüc, doc, ghi cåc loqi tep dü lieu Chüdng IX trinh båy vå'n dö ké't nö'i cåc CdSd dü lieu JDBC nhÅm too nhüng tin khåc hQ thö'ng phÄn mém v6i tfch hqp ttinhi6u 10Qi hQ th6ng thong trén mqng loan tåi bån näy ddQc bd sung thöm chüdng X gidithiQu cåc thånh phÄn cåa Swing, cho phép too nhüng phÄn mem mh bon "thå'y vå cåm nh4n duqc" Trong cåc chddng c6 nhi6u Vf du lä nhüng chüdng trinh hoån chinh, minh hQacho cåch st dung nhüng khåi niém dä néu trén Cuön såch duqc bién soqn dua trén kinh nghiém giång dqy giåo trinh phån tfch, thiét ké' vå lap trinh hu6ng dö'ituqng cåa tåc giå nhiöu näm tqi cåc kh6a cao hQC, hQCcåa DH Quö'cGia Hå Néi, DH Båch Khoa Hå Nöi, DH Khoa Hoc Hug, v.v Cuö'n såch c6 thé düng låm giåo trinh hQC t#p, tåi liQu tham vién cåc he ky Sit,cå nhån, hQC vién cao hoc CNTT vå cåc bon quan lap trinh hd6ng dung döå tuqng dd xåy dung cåc Web dd phåt tridn nhüng üng khåo cho Sinh tåm déc 141) v6i möi dén vå'n dé trdöng, hay Site trén mong Tåc giå båy tå löng biét dn chån thånh t6i cåc bon ddng nghiQp Phöng thö'ngphÄn mem tfch hqp, däc biQtIcåm dn TS Däng Thöng tin,TT KHTN & CNQG, Thänh xuå't bån Khoa Phu, ViQn Cöng nghé PTS.TS Db Düc Giåo, Khoa cong ngh+, DH QG HN dä dQng vién, g6p j vä giüp dd dd hoän chinh nQi dung Nhä cåc 1+ hQC vä KY thuåt dä cuö'n såch näy Xin cåm dn trq vä too di6u kiQn dé cuö'n såch dddc tåi bån Mäc dü rå'tcö'gäng nhung thi lieu näy chäc chin khöng trånh khöi nhüng sai söt Chüng töi rå't mong nh@nduqc cåc j kié'n d6ng g6p cåa bon dQCdd c6 chinh Ij kip thbi Thu g6p Xin gåi v6: Nhå xuå't bån Khoa hQC yä KY thuat 70 Tran Hung Dao I-Iä Nöi Hå Néi, thång näm 2005 Tåc gid 303 MYC luc MUC LUC CHUONGI Glöl THI?IJ VÉ LAP TRiNH HÜÖNG D61 TÜqNG can lap trinh 1.1 Cåccåch tiép 1.2.Nhüngkhåi niQmcd bån cåa lap trinh hd6ng dji tuqng lap trinh hd6ng ngü 1.3.Cåc ngön dö'ituqng 16 Båi tap 17 CHUONG2 Glöl THI?I.JVÉ LAP TRiNH völ JAVA 2.1 Gi6i thiéu Chung 19 2.2 Möi trubng Java 2.3 Cåc dqng chüdng 22 irinh fing dung cåa Java 25 Bäi tap 34 CHUONG cÅc THÅNH PHAN CO Sd 3.1 Cåc phÄn 3.2 Cåc kiéu dü lieu nguyén JAVA tü cd Sd cåa Java 35 thåy 39 3.3 Khai båo cåc bién 40 3.4 Khåi teo giå tri cho cåc biém 42 3.5 Cå'u trüc tep chüdng trinh Java 43 3.6 Cåc phép toån vä cåc biéu thüc 3.7.Truyén tham 46 so vå cåc Ibi goi häm 57 Båi tap 64 CHUONG 4.Ldp vÅ cÅc THÄNH PHAN Löv cÅc DOI TÜONG 4.1 Dinh nghäa 16p 4.2.Dinh nghäa häm 69 thänh phÄn 4.3 Phqm vi vä cåc thuQc tinh kiém soåt truy nhåp cåc thänh phÄn cåa 16p 69 74 Lép trinh hudng d6i tuqng vdi Java 304 4.4 Cåc dư'isư'cåa chddng trinh 92 4.5 Tổn 93 tå too 141) dö'i titqng 4.6 Quan 99 ké' thüa giüa cåc 16p 107 4.7 Giao dién vå sq md röng quan he ké' thüa Java 111 Bäi CHUONG 5.cÅc LÉNH DIÉU KH1ßN DONG vÅ 5.1 THVc I-llgrxl NGOAI LÉ Cåc cåu IQnh di6u khidn ré nhånh chddng crinh 417 120 5.2 Cåc cåu IQnh läp 5.3 Cåc cåu IQnh chuydn vi 123 5.4 Xt Ij ngoqi IQ 126 136 Bäi tap CHUONG 6.cÅc 6.1 Cå'u trüc mång 6.2 CO Sd vÅ cÅc cÄU TRÜc DÜ LIEU 139 Java 144 Cåc 16p cd bån cåa Java 6.3 Ldp 151 String 157 6.4, Ldp StringBuffer 6.5 160 Cå'u trüc tuydn tap dji tuqng 173 Bäi tap CHUONG LAP TRiNH ÜNG DUNG APPLET vÅ AWT 7.1 L4p trinh applet 7.2 Cåc thänh phÄn cåa A WT 175 182 193 7.3 Cåc 16p xå Ij dd hQa 7.4 Bd trf vå sip xép cåc thänh phÄn giao dien cåc fing dyng 7.5 Xü Ij cåc sq kiQn Bhi tap 213 218 235 CHUONG cÅc LUONG VÄO/RA vÅ cÅC T$p DÜ LI$Ü 8.1 Cåc ludng väo/ra 237 305 MVCluc 8.2 Ldp 237 File byte ludng våo/ra xå 19 theo Cåc 8.2 cåc Icy tv: Reader, Writer 8.3 Doc, ghi nhöp tep ngÄu nhién 8.4.Truy 8.5 Truy nh#p 241 247 252 tep tuan tv ciga trén dö'ituqng 254 CHUONG KÉT N61 cÅc CO Sd DÜ LI$U völ JDBC vÄ LAP TRiNH TRÉN MANG 9.1 Gi6i thiéu töng quan vé ODBC vä JDBC fing dung JDBC 9.2 Chddng trinh trénmong Lap trinh 9.3 259 262 279 CHUONG 10.LAP TRiNH völ cÅc THÅNH PHAN SWING 10.1 Gi6i thiéu vé Swing 10.2 Cåc thänh phÄn cåa Swing 10.3 Cåc g6i cåa Swing 285 286 299 Cåc 16p cåa JComponent 299 10.5 Xå Ij cåc sq kiQn Swing 299 10.6 Xåy dung fing dyng applet 300 10.7 Thå'yvä cåm nh#n 300 Täi liéu tham khåo 302 ... bân cüa lâp trình hü6ng dơ'itüQng Chüdng II gidi thiêu chu trình phât triên cûa câc chüdng trình Java, q trình dich, thơng dich v6i JVM (Java Virtual Machine) câc thê loai chüdng trình (ing dung,... gidi thiêu vê lâp trình hü6ng dơ'itüQng st clung ngơn ngü lâp trình Java NQi dung chfnh cüa cn sâch ddQc trình bày müịi chüdng Chüdng I trình bày khâi quât câch tiê'pcan hü6ng lâp trình hü6ng chûc... khâc nhau, Java mot ngơn ngü lap trình hồn chinh düQc thiê't mêm theo câch tiê'p hutƠngdơl tüQng kê' thùa, st clung lai cô nâng câ'p cûa nhüng ngơn ngü lâp trình trü6c nơ Vê m4t cü phâp, Java râ'tgiơ'ngv6i