Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore โปรเจ็ค

โปรเจ็ค

Published by Teerawat2543k, 2021-02-18 07:59:59

Description: โปรเจ็ค

Search

Read the Text Version

คำนำ หนังสืออิเล็กทรอนิกส์ น้ีเป็นส่วนหน่ึงของวิชำโครงกำรโดยภำยในหนังสือ อิเล็กทรอนิกส์เล่มนี้ประกอบไปด้วยเนื้อหำเกี่ยวกับกำรเขียนโปรแกรม คอมพวิ เตอร์ ผู้จัดทำหวังว่ำหนังสืออิเล็กทรอนิกส์ฉบับนี้ จะใหค้ วำมรู้และ เป็นประโยชนแ์ ก่ผู้อ่ำนทกุ ๆ ท่ำน ทำงผู้จัดทำหวังเป็นอย่ำงย่ิงว่ำหนังสืออิเล็กทรอนิกส์เล่มนี้จะเป็นประโยชน์ ต่อกำรจัดกำรเรยี นรเู้ พอ่ื ประยุกต์ใช้พฒั นำกำรเรยี นรู้ได้อย่ำงเหมำะสม ทำง ผู้จัดทำหวังเป็นอย่ำงย่ิงว่ำผู้ศึกษำทุกท่ำนจะได้ประโยชน์ และควำมรู้จำก กำรศึกษำจำกหนังสืออิเล็กทรอนิกส์เล่มน้ีไม่มำกก็น้อยหำกมีขข้อบกพร่อง ประกำรใด คณะผ้จู ัดทำขออภัยมำ ณ ทน่ี ี้

สำรบญั บทท่ี 1 องค์ประกอบคอมพวิ เตอร์.............................................1 1 ฮำร์ดแวร์ ( Hardware ) ..............................................................................2 2 ซอฟต์แวร์ ( Software )...............................................................................4 3 บุคลำกร ( Peopleware )............................................................................8 บทท่ี 2 ภาษาสาหรบั การพฒั นาโปรแกรม...............................16 2.1 ภำษำคอมพิวเตอร.์ ..................................................................................17 ภำษำระดับสูงกบั กำรใช้งำน...........................................................................23 บทท่ี 3 วงจรการออกแบบและพัฒนาโปรแกรม......................54 3.1 คุณลกั ษณะของโปรแกรมทด่ี .ี ..................................................................55 3.2 วงจรกำรพัฒนำโปรแกรม........................................................................56 3.3 ขอ้ พจิ ำรณำออกแบบกำรทำงำนสำหรับพฒั นำโปรแกรม........................58 3.4 รูปแบบกำรเขียนโปรแกรมคอมพวิ เตอร.์ .................................................59 บทท่ี 4 การวเิ คราะหป์ ัญหาสาหรบั การออกแบบโปรแกรม......62 4.1 ควำมหมำยของกำรวเิ ครำะห์ปญั หำ.........................................................63 4.2 หลกั เกณฑก์ ำรวเิ ครำะหง์ ำน....................................................................64

• บทท่ี 5 การเขยี นผังงานของโปรแกรม..................................68 • 5.1 ควำมหมำยของผังงำน..........................................................................70 • 5.2 ประโยชน์ของผงั งำนต่อกำรเขียนโปรแกรม..........................................72 • 5.3 ประเภทของผงั งำน................................................................................73 • 5.4 สญั ลกั ษณ์ทใี่ ช้ในกำรเขียนผงั งำน..........................................................75 • 5.5 หลักเกณฑ์กำรเขียนผงั งำน....................................................................77 • 5.6 ลกั ษณะโครงสรำ้ งในกำรเขยี นผงั งำน....................................................78 • บทท่ี 6 การเขียนอัลกอริทึมโปรแกรม...................................84 • 6.1 อัลกอริทึม.............................................................................................85 • 6.2 จดุ ประสงค์กำรเขยี นอัลกอริทมึ ............................................................86 • 6.3 คุณสมบัตพิ นื้ ฐำนในกำรประมวลผลของคอมพวิ เตอร.์ .........................86 • บทท่ี 7 การเขยี นรหัสเทียม..................................................92 • 7.1 ควำมหมำยของซูโดโคด้ .......................................................................93 • 7.2 รหสั เทยี ม............................................................................................94

• 7.3 กำรเขยี นซโู ดโค้ดในกำรเปรียบเทียบ..............................................96 • 7.4 กำรเขียนซูโดโคด้ ในกำรทำงำนแบบวนซ้ำ.....................................96 • 7.5 กำรเขยี นซโู ดโค้ดในกำรเรียกโพรซีเยอร์ย่อย................................102 • บทท่ี 8 การทางานแบบลาดบั และมีการตัดสินใจ..........103 • 8.1 กำรทำงำนแบบเรยี งลำดบั ............................................................105 • 8.2 กำรทำงำนแบบมีทำงเลือก...........................................................106 • 8.3 กำรพฒั นำโปรแกรมในลกั ษณะโมดลู ำร์.......................................106 • บทที่ 9 การประยกุ ต์การทาซา......................................111 • 9.1 ประเภทกำรทำซำ้ ........................................................................112 • 9.2 แนวทำงกำรประยกุ ต์กำรทำซำ้ ....................................................128





2 1.1 องคป์ ระกอบคอมพิวเตอร์ คอมพิวเตอร์ทำงำนอย่ำงเป็นระบบ (System) หมำยถึงภำยในระบบงำน คอมพิวเตอร์ ประกอบด้วยองค์ประกอบย่อยท่ีมีหน้ำท่ีเฉพำะ ทำงำนประสำน สมั พันธก์ นั เพือ่ ใหง้ ำนบรรลุตำมเปำ้ หมำย ในระบบงำนคอมพวิ เตอร์ กำรท่ีมีเครื่องคอมพิวเตอร์เพียงอย่ำงเดียว จะยังไม่สำมำรถทำงำนได้ด้วย ตัวเอง ซ่ึงหำกจะให้คอมพวิ เตอร์ทำงำนไดอ้ ย่ำงเป็นระบบและมีประสิทธิภำพแล้ว ระบบคอมพิวเตอร์ ควรจะประกอบไปด้วยองคป์ ระกอบคือบคุ ลำกร (Peopleware) ฮำร์ดแวร์ (Hardware) ซอฟต์แวร์ (Software)ข้อมูล (Data) สำรสนเทศ(Information) และกระบวนกำรทำงำน ( Procedure ) 1. ฮารด์ แวร์ ( Hardware ) ฮำร์ดแวร์เป็นองค์ประกอบของตัวเครื่องที่สำมำรถจับต้องได้ ได้แก่ วงจรไฟฟ้ำ ตัวเครื่อง จอภำพ เคร่ืองพิมพ์ คีร์บอร์ด เป็นต้นซึ่งสำมำรถแบ่งส่วน พ้ืนฐำนของฮำร์ดแวรเ์ ปน็ 4 หนว่ ยสำคญั 1.1 หน่วยรับข้อมูลหรืออินพุต ( Input Unit) ทำหน้ำที่รับข้อมูลและ โปรแกรมเข้ำ เคร่ือง มีโครงสร้ำงดังรูป 1.3 ได้แก่ คีย์บอรืดหรือแป้นพิมพ์ เมำส์ เครื่องสแกน เครอ่ื งรดู บัตร Digitizer เป็นต้น 1.2 ระบบประมวลผลกลางหรือซพี ยี ู (CPU : Central Processing Unit) ทำหนำ้ ทใี่ นกำรทำงำนตำมคำสงั่ ท่ปี รำกฏอยู่ในโปรแกรม ปัจจบุ นั ซพี ียขู อง เครือ่ งพีซี รู้จกั ในนำมไมโครโปรเซสเซอร์ ( Micro Processor) หรอื Chip เชน่ บรษิ ทั Intel คอื Pentium หรือ Celelon ส่วนของ บริษทั AMD คือ K6,K7(Athlon) เปน็ ต้น

ไมโครโปรเซสเซอร์ มีหน้ำทใ่ี นกำรประมวลผลข้อมลู ในลกั ษณะของกำร คำนวณและเปรยี บเทียบ โดยจะทำงำนตำมจงั หวะเวลำทีแ่ นน่ อน เรยี กว่ำ สัญญำณ Clock เม่อื มีกำรเคำะจังหวะหนึ่งครง้ั ก็จะเกดิ กจิ กรรม 1 ครง้ั เรำเรยี กหน่วย ทใ่ี ช้ในกำรวดั ควำมเร็วของซพี ยี ู ว่ำ “เฮริ ท์ ”(Herzt) หมำยถึงกำรทำงำนได้ก่คี รงั้ ในจำนวน 1 วนิ ำที เช่น ซีพยี ู Pentium4 มคี วำมเรว็ 2.5 GHz หมำยถงึ ทำงำนเร็ว 2,500 ล้ำน ครงั้ ในหน่งึ วนิ ำที • กรณีท่ีสัญญำณ Clock เร็วก็จะทำให้คอมพิวเตอร์เคร่ืองนั้น มี ควำมเร็วสงู และ ซพี ยี ทู ี่ทำงำนเรว็ มำก รำคำกจ็ ะแพงขึ้นมำกตำมไปด้วย 1.3 หนว่ ยเก็บขอ้ มลู ( Storage ) ซึง่ สำมำรถแยกตำมหน้ำทไ่ี ด้ เปน็ 2 ลกั ษณะ คือ 1.3.1 หน่วยเ ก็บข้ อมูลหลักหรือควำมจำหลัก ( Primary Storage หรือ Main Memory ) ทำหน้ำที่เก็บโปรแกรมหรือข้อมูลที่ รับมำจำกหน่วยรับข้อมูลเพ่ือเตรียมส่งให้หน่วยประมวลผลกลำงทำกำร ประมวลผล และรับผลลัพธ์ที่ได้จำกกำรประมวลผลเพื่อส่งออกหน่วย แสดงข้อมูลต่อไปซ่ึงอำจแยกได้เป็น 2 ประเภท คือ RAM ( Random Access Memory ) ทสี่ ำมำรถอำ่ นและเขียนข้อมูลได้ในขณะท่ีเปิดเครื่อง อยู่ แต่เมื่อปิดเครื่องข้อมูลใน RAM จะหำยไป และ ROM ( Read Only Memory ) จะอ่ำนได้อย่ำงเดียว เช่น BIOS (Basic Input Output system) โปรแกรมฝังไว้ใช้ตอนสตำร์ตเครื่อง เพื่อเครื่องคอมพิวเตอร์ เร่มิ ตน้ ทำงำน เป็นตน้

1.3.2 หน่วยเก็บข้อมูลสำรอง ( Secondary Storage ) เป็นหน่วยท่ีทำ หน้ำที่เก็บข้อมูล หรือโปรแกรมที่จะป้อนเข้ำสู่หน่วยควำมจำหลักภำยใน เครื่องก่อนทำกำรประมวลผลโดยซีพียู รวมทั้งเป็นที่เก็บผลลัพธ์จำกกำร ประมวลผลด้วย ปัจจุบันรู้จักในนำมฮำร์ดดิสก์ (Hard disk) หรือ แผ่นฟร็อปปดี ิสก์ (Floppy Disk) ซงึ่ เมอ่ื ปดิ เครอ่ื งขอ้ มูลจะยังคงเก็บอยู่ 1.4 หน่วยแสดงข้อมูลหรือเอาต์พตุ ( Output Unit ) ทำหน้ำที่ใน กำรแสดงผลลัพธ์ที่ได้จำกกำรประมวลผล ได้แก่ จอภำพ และเครื่องพิมพ์ เป็นตน้ ทงั้ 4 ส่วนจะเชอื่ มตอ่ กนั ด้วยบัส ( Bus ) • 2 ซอฟต์แวร์ ( Software ) • ซอฟต์แวร์ คือโปรแกรมหรือชุดคำสั่ง ที่ส่ังให้ฮำร์ดแวร์ทำงำน รวม ไปถึงกำรควบคุมกำรทำงำน ของอุปกรณ์แวดล้อมต่ำงๆ เช่น ฮำร์ดดิสก์ ดิสก์ไดรฟ์ ซีดีรอม กำร์ดอินเตอร์เฟสต่ำง ๆ เป็นต้น ซอฟต์แวร์ เป็นสิ่งที่ มองไม่เห็นจับต้องไมไ่ ด้ แต่รับรู้กำรทำงำนของมันได้ ซึ่งต่ำงกับ ฮำร์ดแวร์ (Hardware) ทสี่ ำมำรถจบั ตอ้ งได้ ซึง่ แบง่ เป็น 2 ประเภทคอื • 2.1 ซอฟต์แวร์ระบบ ( System Software ) คือโปรแกรม ที่ใช้ ในกำรควบคุมระบบกำร ทำงำนของเครื่องคอมพิวเตอร์ทั้งหมด เช่น กำรบูตเคร่ือง กำรสำเนำข้อมูล กำรจัดกำรระบบของดิสก์ ชุดคำส่ังที่ เขียนเป็นคำส่ังสำเร็จรูป โดยผู้ผลิตเคร่ืองคอมพิวเตอร์ และมีมำพร้อม แล้วจำกโรงงำนผลิต กำรทำงำนหรอื กำรประมวลผล

• ของซอฟต์แวร์เหล่ำน้ี ขึ้นกับเคร่ืองคอมพิวเตอร์แต่ละเครื่อง ระบบ ของซอฟต์แวร์เหล่ำนี้ ออกแบบมำเพื่อกำรปฏิบัติควบคุม และมี ควำมสำมำรถในกำรยืดหยุ่น กำรประมวลผลของเคร่ืองคอมพิวเตอร์ แบ่ง ออกเปน็ 4 ประเภทคอื • 2.1.1 โปรแกรมระบบปฏิบัติกำร (Operating System) เป็น โปรแกรมที่ใช้ควบคุม และติดต่อกับอุปกรณ์ต่ำง ๆ ของเครื่องคอมพวิ เตอร์ โดยเฉพำะกำรจัดกำรระบบของดิสก์ กำรบริหำรหน่วยควำมจำของระบบ กล่ำวโดยสรุปคือ หำกจะทำงำนใดงำนหน่ึง โดยใช้คอมพิวเตอร์เป็น เคร่ืองมือ ในกำรทำงำน แล้วจะต้องติดต่อกับซอฟต์แวร์ระบบก่อน ถ้ำขำด ซอฟต์แวรช์ นดิ น้ี จะทำให้เครื่องคอมพิวเตอร์ ไม่สำมำรถทำงำนได้ ตัวอย่ำง ข อ ง ซ อ ฟ ต์ แ ว ร์ ป ร ะ เ ภ ท นี้ ไ ด้ แ ก่ โ ป ร แ ก ร ม ระบบปฏิบัติกำร Unix Linux DOS และWindows (เวอร์ชั่นต่ำง ๆ เช่น 95 98 me 2000 NT XP Vista ) เป็นตน้ • 2.2 ซอฟต์แวร์ประยุกต์ (Application Software) • คือ ซอฟต์แวร์หรือโปรแกรมที่ทำให้คอมพิวเตอร์ทำงำนต่ำงๆ ตำมที่ ผู้ใช้ต้องกำร ไม่ว่ำจะด้ำนเอกสำร บัญชี กำรจัดเก็บข้อมูล เป็นต้น ซอฟต์แวร์ประยกุ ต์สำมำรถจำแนกไดเ้ ปน็ 2 ประเภท คือ • 2.2.1 ซอฟต์แวร์สำหรับงำนเฉพำะด้ำน (Special Purpose Software) คือ โปรแกรมซึ่งเขียนข้ึนเพื่อกำรทำงำนเฉพำะอย่ำงท่ีเรำ ตอ้ งกำร บำงที่เรียกว่ำ User’s Program เช่น โปรแกรมกำรทำบัญชีจำ่ ย เงินเดือน โปรแกรมระบบเช่ำซ้ือ โปรแกรมกำรทำสินค้ำคงคลัง เป็นต้น ซึ่งแต่ละโปรแกรมก็มักจะมีเงื่อนไข หรือแบบฟอร์มแตกต่ำงกันออกไป ตำมควำมตอ้ งกำร หรอื กฏเกณฑข์ องแตล่ ะหน่วยงำนท่ีใช้

• ซ่ึงสำมำรถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบำงส่วนของ โปรแกรมได้ เพ่ือให้ตรงกับควำมต้องกำรของผู้ใช้ และซอฟต์แวร์ ประยกุ ตท์ ีเ่ ขยี นข้นึ นี้โดยสว่ นใหญม่ ักใช้ภำษำระดบั สูงเปน็ ตัวพัฒนำ • 2.1.2 ตัวแปลภำษำ (Translator) จำก Source Code ให้ เปน็ Object Code (แปลจำกภำษำทมี่ นุษย์เขำ้ ใจ ให้เป็นภำษำท่ีเครือ่ ง เข้ำใจ เปรียบเสมอื นล่ำมแปลภำษำ) เปน็ ซอฟตแ์ วร์ท่ใี ช้ในกำรแปลภำษำ ระดับสูง ซ่ึง เป็นภำษำใกลเ้ คยี งภำษำมนษุ ย์ ให้เปน็ ภำษำเครอื่ งกอ่ นที่จะ นำไปประมวลผล ตัวแปลภำษำแบง่ ออกเปน็ สองประเภทคือ คอมไพเลอร์ (Compiler) และอินเตอร์พีทเตอร์ (Interpeter) คอมไพเลอร์จะแปล คำส่ังในโปรแกรมทง้ั หมดก่อน แลว้ ทำกำรล้งิ (Link) เพื่อให้ไดค้ ำสง่ั ท่ี เครอื่ งคอมพิวเตอร์เขำ้ ใจ ส่วนอนิ เตอร์พที เตอร์จะแปลทีละประโยคคำสัง่ แล้วทำงำนตำมประโยคคำส่ังนัน้ กำรจะเลือกใชต้ ัวแปลภำษำแบบใดนน้ั จะข้นึ อยกู่ ับภำษำท่ใี ช้ในกำรเขยี นโปรแกรม ซึ่งมี 2 แบบได้แก่ ภำษำ แบบโครงสรำ้ ง เช่น ภำษำเบสกิ (Basic) ภำษำปำสคำล (Pascal) ภำษำซี (C) ภำษำจำวำ(Java)ภำษำโคบอล (Cobol) ภำษำ SQL ภำษำ HTML เป็นต้น ภำษำแบบเชงิ วัตถุ ( Visual หรือ Object Oriented Programming ) เชน่ Visual Basic,Visual C หรือ Delphi เป็นต้น • 2.1.3 ยูติลิตี้ โปรแกรม (Utility Program) คือซอฟต์แวร์ เสริมช่วยให้เคร่ืองทำงำนมีประสิทธิภำพ มำกข้ึน เช่น ช่วยในกำร ตรวจสอบดิสก์ ช่วยในกำรจัดเก็บข้อมูลในดิสก์ ช่วยสำเนำข้อมูล ช่วย ซอ่ มอำกำรชำรุดของดสิ ก์ ชว่ ยคน้ หำและกำจัดไวรัส ฯลฯ เปน็ ต้น

• โปรแกรมในกลุ่มนี้ได้แก่ โปรแกรม Norton Winzip Scan virus Sidekick Scandisk Screen Saver ฯลฯ เป็นตน้ • 2.1.4 ติดตัง้ และปรบั ปรุง ระบบ (Diagonostic Program) เป็นซอฟต์แวร์ทีใ่ ช้ในกำรตดิ ตงั้ ระบบ เพ่ือใหค้ อมพิวเตอร์สำมำรถติดตอ่ และใช้งำนอุปกรณ์ตำ่ ง ๆ ทนี่ ำมำติดต้งั ระบบ ไดแ้ ก่ โปรแกรม Setupและ Driver ต่ำง ๆ เชน่ โปรแกรม Setup Microsoft Office โปรแกรม Driver Sound , Driver Printer , Driver Scanner ฯลฯ เปน็ ต้ • 2.2.2 ซอฟตแ์ วรส์ ำหรบั งำนทว่ั ไป (GeneralPurpose Software) • เป็นโปรแกรมประยุกต์ที่มีผู้จดั ทำไว้ เพื่อใช้ในกำรทำงำนประเภทต่ำงๆ ทัว่ ไป โดยผูใ้ ช้คนอื่นๆ สำมำรถนำโปรแกรมนี้ไปประยุกต์ใช้กับข้อมูลของ ตนได้ แต่จะไม่สำมำรถทำกำรดัดแปลง หรือแก้ไขโปรแกรมได้ ผู้ใช้ไม่ จำเป็นต้องเขียนโปรแกรมเอง ซ่ึงเป็นกำรประหยัดเวลำ แรงงำน และ ค่ำใช้จ่ำยในกำรเขียนโปรแกรม นอกจำกนี้ ยังไม่ต้องเวลำมำกในกำรฝึก และปฏิบัติ ซึ่งโปรแกรมสำเร็จรูปนี้ มักจะมีกำรใช้งำนในหน่วยงำน ซ่ึง ขำดบคุ ลำกรที่มีควำมชำนำญเป็นพเิ ศษในกำรเขียนโปรแกรม ดังน้ัน กำร ใช้โปรแกรมสำเร็จรูปจึงเป็นส่ิงท่ีอำนวยควำมสะดวกและเป็นประโยชน์ อย่ำงย่ิง ตัวอย่ำงโปรแกรมสำเร็จรูปท่ีนิยมใช้ได้แก่ MS-Office, Lotus, Adobe Photoshop, SPSS, Internet Explorer และ เกมส์ต่ำงๆ เป็น ตน้

3 บคุ ลากร ( Peopleware ) บุคลำกรจะเป็นส่ิงสำคัญทจ่ี ะเปน็ ตวั กำหนดถึงประสิทธภิ ำพถงึ ควำมสำเร็จและควำมคุ้มค่ำในกำรใช้งำนคอมพิวเตอร์ ซง่ึ สำมำรถแบง่ บคุ ลำกรตำม หนำ้ ทเ่ี กยี่ วข้องตำมลกั ษณะงำนได้ 6 ดำ้ น ดังนี้ 3.1 นักวิเคราะห์และออกแบบระบบ (Systems Analyst and Designer : SA ) ทำหน้ำที่ศกึ ษำและรวบรวมควำมต้องกำรของผู้ใช้ระบบ และทำหน้ำท่ีเป็นส่ือกลำงระหว่ำงผู้ใช้ระบบและนักเขียนโปรแกรม (Programmer) หรือปรับปรุงคุณภำพงำนเดิม นักวิเครำะห์ระบบต้องมี ควำมรู้เก่ียวกับระบบคอมพิวเตอร์ พื้นฐำนกำรเขียนโปรแกรม และควรจะ เปน็ ผู้มคี วำมคิดรเิ ร่ิมสรำ้ งสรรค์มมี นุษย์สัมพนั ธท์ ่ีดี 3.2 โปรแกรมเมอร์ ( Programmer ) คือบุคคลทท่ี ำหน้ำทเี่ ขียน ซอฟต์แวรต์ ่ำงๆ(Software )หรือเขยี นโปรแกรมเพ่ือสงั่ งำนให้เครอื่ ง คอมพวิ เตอร์ทำงำนตำมควำมตอ้ งกำรของผูใ้ ช้ โดยเขยี นตำมแผนผังท่ี นกั วเิ ครำะหร์ ะบบไดเ้ ขยี นไว้ 3.3 ผู้ใช้ ( User ) เป็นผู้ใช้ระบบคอมพวิ เตอร์ ซึ่งจะเป็นผู้ปฏิบัติหรือ กำหนดควำมต้องกำรในกำรใช้ระบบคอมพิวเตอร์ว่ำทำงำนอะไรได้ บ้ำง ผู้ใช้งำนคอมพวิ เตอร์ทั่วไป จะต้องเรียนรู้วิธีกำรใช้เครื่อง และวิธีกำรใช้ งำนโปรแกรม เพ่อื ใหโ้ ปรแกรมทมี่ ีอยสู่ ำมำรถทำงำนไดต้ ำมทต่ี ้องกำร

• 3.4 ผู้ปฏิบัติการ (Operator ) สำหรับระบบขนำดใหญ่ เช่น เมนเฟรม จะต้องมีเจ้ำหน้ำที่คอมพิวเตอร์ที่คอยปิดและเปิดเคร่ือง และ เ ฝ้ ำ ดู จ อ ภ ำ พ เ มื่ อ มี ปั ญ ห ำ ซ่ึ ง อ ำ จ เ กิ ด ขั ด ข้ อ ง จ ะ ต้ อ ง แจ้ง System Programmer ซ่ึงเป็นผู้ดูแลตรวจสอบแก้ไขโปรแกรม ระบบควบคมุ เครอ่ื ง (System Software) อกี ทีหนึง่ • 3.5 ผู้บริหารฐานข้อมูล ( Database Administrator : DBA ) กลุ่มบุคคลที่ทำหน้ำที่ดูแลข้อมูลผ่ำนระบบจัดกำรฐำนข้อมูล ซึ่งจะ ควบคุมให้กำรทำงำนเป็นไปอย่ำงรำบรื่น นอกจำกนี้ยังทำหน้ำท่ีกำหนด สิทธิกำรใช้งำนข้อมูล กำหนดในเรื่องควำมปลอดภัยของกำรใช้ งำน พร้อมท้ังดูแลดำต้ำเบสเซิร์ฟเวอร์ (Database Server) ให้ทำงำน อย่ำงปกติด้วย • 3.6 ผู้จัดการระบบ (System Manager) คือ ผู้วำงนโยบำยกำร ใช้คอมพิวเตอร์ให้เป็นไปตำมเป้ำหมำยของหน่วยงำน เป็นผู้ท่ีมี ควำมหมำยต่อควำมสำเร็จหรือล้มเหลวของกำรนำระบบคอมพิวเตอร์เข้ำ มำใช้งำนเปน็ อย่ำงมำก • 4. ขอ้ มลู และสารสนเทศ • 4.1 ข้อมูล (Data) หมำยถึง ข้อเท็จจริงหรือเหตุกำรณ์ท่ีเกิดข้ึน แล้วใช้ตัวเลขตัวอักษร หรือสัญลักษณ์ ต่ำงๆ ทำควำมหมำยแทนสิ่ง เหล่ำนน้ั เชน่ • · คะแนนสอบวิชำภำษำไทยของนกั เรยี น • · อำยขุ องพนักงำนในบริษัทชินวตั รจำกัด • · รำคำขำยของหนังสือในรำ้ นหนงั สือดอกหญำ้ • · คำตอบท่ผี ้ถู กู สำรวจตอบในแบบสอบถำม

• 4.2 สารสนเทศ (Information) หมำยถึง ข้อสรุปต่ำงๆ ที่ได้จำก กำรนำขอ้ มลู มำทำกำรวเิ ครำะห์ หรอื ผ่ำนวธิ ีกำรที่ ได้กำหนดข้ึน ทั้งนี้เพ่ือ นำข้อสรปุ ไปใชง้ ำนหรืออำ้ งอิง เช่น • · เกรดเฉลีย่ ของวชิ ำภำษำไทยของนักเรียน • · อำยุเฉลยี่ ของพนักงำนในบริษัทชนิ วัตรจำกัด • · รำคำขำยสูงสุดของหนังสือในร้ำนหนังสือดอก หญำ้ • · ข้อสรปุ จำกกำรสำรวจคำตอบในแบบสอบถำม • 5. กระบวนการทางาน ( Procedure ) • องค์ประกอบด้ำนนี้หมำยถึงกระบวนกำรทำงำนเพือ่ ให้ได้ผลลัพธ์ ตำมตอ้ งกำร ในกำรทำงำนกับคอมพวิ เตอรผ์ ูใ้ ช้ • จำเป็นต้องทรำบข้ันตอนกำรทำงำนเพื่อให้ได้งำนท่ีถูกต้องและมี ประสทิ ธิภำพ • ซึ่งอำจจะมีข้ันตอนสลับซับซ้อนหลำยขั้นตอน ดังนั้นจึงมีควำม จำเป็นต้องมีคู่มือปฏิบตั งิ ำน • เช่น คมู่ ือผใู้ ช้ ( user manual ) หรือคมู่ อื ผดู้ แู ลระบบ ( operation manual ) เป็นตน้ • 1.2 สว่ นประกอบของฮารด์ แวร์คอมพวิ เตอร์ • จำแนกตำมหนำ้ ท่ขี องฮำร์ดแวรส์ ำมำรถแบง่ เปน็ ส่วนสำคัญ 5 ส่วน •

• 1. หน่วยรับข้อมูล (Input Unit) ทำหน้ำที่รับโปรแกรมคำส่ัง และ ข้อมลู เขำ้ สเู่ คร่ืองคอมพวิ เตอร์ • 2. หน่วยประมวลผลกลำง (Central Processing Unit - CPU) ทำหน้ำที่เกีย่ วกบั กำรคำนวณท้ังทำงตรรกะและ • คณิตศำสตร์ รวมทง้ั กำรประมวลข้อมูลตำมคำส่งั ท่ีไดร้ บั • 3. หน่วยควำมจำ (Memory Unit) ทำหน้ำท่ีเก็บข้อมูลหรือ คำสงั่ ท่สี ่งมำจำกหนว่ ยรับข้อมลู เพ่อื เตรยี มส่งไปประมวลผล • ยังหน่วยประมวลผลกลำง และเก็บผลลัพธ์ที่ได้มำจำกกำรประมวลผล แล้วเพือ่ เตรียมส่งไปยงั หน่วยแสดงผล • 4. หน่วยแสดงผล (Output Unit) ทำหน้ำท่ีแสดงผลข้อมูลที่ คอมพวิ เตอร์ทำกำรประมวลผล หรือผ่ำนกำรคำนวณแลว้ • 5. อุปกรณ์ต่อพ่วงอื่นๆ (Peripheral Equipment) เป็นอุปกรณ์ ท่ีนำมำตอ่ พ่วงเขำ้ กบั คอมพวิ เตอร์ เพอื่ ชว่ ยเพ่ิม • ประสิทธิภำพในกำรทำงำนใหม้ ำกยิ่งขึ้น เช่น โมเด็ม แผงวงจรเช่ือมต่อ เครือข่ำย เป็นตน้ • 1.3 ซอฟแวร์ • ซอฟต์แวร์ คือโปรแกรมหรอื ชดุ คำส่ัง ที่สัง่ ใหฮ้ ำร์ดแวรท์ ำงำน รวม ไปถงึ กำรควบคุมกำรทำงำน ของอปุ กรณ์แวดล้อมต่ำงๆ เช่น ฮำร์ดดสิ ก์ ดิสก์ไดรฟ์ ซดี ีรอม กำรด์ อินเตอรเ์ ฟสตำ่ ง ๆ เป็นตน้ ซอฟตแ์ วร์ เป็นส่ิงที่ มองไม่เหน็ จับต้องไม่ได้ แต่รับรกู้ ำรทำงำนของมันได้ ซง่ึ ต่ำงกบั ฮำร์ดแวร์ (Hardware) ทีส่ ำมำรถจบั ต้องได้ ซงึ่ แบง่ เปน็ 2 ประเภทคือ

• 2.1 ซอฟต์แวรร์ ะบบ ( System Software ) คอื โปรแกรม ทใี่ ช้ ในกำรควบคุมระบบกำร ทำงำนของเคร่ืองคอมพิวเตอรท์ ้งั หมด เชน่ กำรบูตเครื่อง กำรสำเนำข้อมูล กำรจัดกำรระบบของดสิ ก์ ชดุ คำสั่งที่ เขยี นเป็นคำสง่ั สำเรจ็ รูป โดยผู้ผลติ เคร่ืองคอมพิวเตอร์ และมีมำพร้อม แลว้ จำกโรงงำนผลิต กำรทำงำนหรอื กำรประมวลผล ของซอฟตแ์ วร์ เหลำ่ น้ี ขนึ้ กบั เครอื่ งคอมพิวเตอร์แตล่ ะเครื่อง ระบบของซอฟต์แวรเ์ หลำ่ น้ี ออกแบบมำเพื่อกำรปฏิบัตคิ วบคมุ และมคี วำมสำมำรถในกำรยดื หย่นุ กำรประมวลผลของเคร่อื งคอมพิวเตอร์ แบง่ ออกเปน็ 4 ประเภทคือ • 2.1.1 โปรแกรมระบบปฏิบัติกำร (Operating System) เป็น โปรแกรมที่ใช้ควบคุม และติดต่อกับอุปกรณ์ต่ำง ๆ ของเครื่อง คอมพิวเตอร์ โดยเฉพำะกำรจัดกำรระบบของดิสก์ กำรบริหำร หน่วยควำมจำของระบบ กล่ำวโดยสรุปคือ หำกจะทำงำนใดงำนหนึ่ง โดย ใช้คอมพิวเตอร์เป็นเคร่ืองมือ ในกำรทำงำน แล้วจะต้องติดต่อกับ ซอฟต์แวร์ระบบก่อน ถ้ำขำดซอฟต์แวร์ชนิดน้ี จะทำให้เคร่ือง คอมพวิ เตอร์ ไม่สำมำรถทำงำนได้ ตัวอย่ำงของซอฟต์แวร์ประเภทนี้ได้แก่ โปรแกรมระบบปฏิบัติกำร Unix Linux DOS และWindows (เวอร์ช่ัน ต่ำง ๆ เช่น 95 98 me 2000 NT XP Vista ) เป็นตน้ • 2.1.2 ตัวแปลภำษำ (Translator) จำก Source Code ให้ เป็น Object Code (แปลจำกภำษำที่มนุษย์เข้ำใจ ให้เป็นภำษำที่เครื่อง เข้ำใจ เปรียบเสมือนล่ำมแปลภำษำ) เป็นซอฟต์แวร์ท่ีใช้ในกำรแปลภำษำ ระดับสงู ซ่ึง เป็นภำษำใกล้เคียงภำษำมนุษย์ ให้เป็นภำษำเคร่ืองก่อนท่ีจะ นำไปประมวลผล ตวั แปลภำษำแบง่ ออกเป็นสองประเภทคือ คอมไพเลอร์ (Compiler)

• และอินเตอร์พีทเตอร์ (Interpeter) คอมไพเลอร์จะแปลคำส่ังใน โปรแกรมทั้งหมดก่อน แล้วทำกำรล้ิง (Link) เพ่ือให้ได้คำสั่งที่เครื่อง คอมพิวเตอร์เข้ำใจ ส่วนอินเตอร์พีทเตอร์จะแปลทีละประโยคคำสั่ง แล้ว ทำงำนตำมประโยคคำส่ังน้ัน กำรจะเลือกใช้ตัวแปลภำษำแบบใดน้ัน จะ ข้ึนอยู่กับภำษำท่ีใช้ในกำรเขียนโปรแกรม ซึ่งมี 2 แบบได้แก่ ภำษำแบบ โครงสร้ำง เช่น ภำษำเบสกิ (Basic) ภำษำปำสคำล • (Pascal) ภำษำซี (C) ภำษำจำวำ(Java)ภำษำโคบอล (Cobol) ภำษำ SQL ภำษำ HTML เป็นต้น ภำษำแบบเชิงวตั ถุ ( Visual หรอื Object Oriented Programming ) เชน่ Visual Basic,Visual C หรอื Delphi เป็นต้น • 2.1.3 ยูติลิต้ี โปรแกรม (Utility Program) คือซอฟต์แวร์ เสริมช่วยให้เครื่องทำงำนมีประสิทธิภำพ มำกขึ้น เช่น ช่วยในกำร ตรวจสอบดิสก์ ช่วยในกำรจัดเก็บข้อมูลในดิสก์ ช่วยสำเนำข้อมูล ช่วย ซ่อมอำกำรชำรุดของดิสก์ ช่วยค้นหำและกำจัดไวรัส ฯลฯ เป็นต้น โปรแกรมในกลมุ่ นไ้ี ด้แก่ โปรแกรม Norton Winzip Scan virus Sidekick Scandisk Screen Saver ฯลฯ เป็นต้น • 2.1.4 ติดตง้ั และปรบั ปรงุ ระบบ (Diagonostic Program) เป็นซอฟต์แวร์ทใี่ ช้ในกำรตดิ ต้งั ระบบ เพอ่ื ให้คอมพวิ เตอรส์ ำมำรถติดต่อและใช้งำนอปุ กรณต์ ่ำง ๆ ทีน่ ำมำตดิ ตงั้ ระบบ ได้แก่ โปรแกรม Setupและ Driver ตำ่ ง ๆ เชน่ โปรแกรม Setup Microsoft Office โปรแกรม Driver Sound , Driver Printer , Driver Scanner ฯลฯ เป็นตน้

14 • 2.2 ซอฟต์แวร์ประยุกต์ (Application Software) • คอื ซอฟต์แวร์หรือโปรแกรมทท่ี ำใหค้ อมพิวเตอร์ทำงำนต่ำงๆ ตำมที่ ผใู้ ชต้ ้องกำร ไม่วำ่ จะด้ำนเอกสำร บญั ชี กำรจัดเกบ็ ขอ้ มลู เปน็ ตน้ ซอฟต์แวรป์ ระยกุ ต์สำมำรถจำแนกไดเ้ ปน็ 2 ประเภท คอื • 2.2.1 ซอฟต์แวร์สำหรับงำนเฉพำะด้ำน (Special Purpose Software) คือ โปรแกรมซึ่งเขียนขึ้นเพ่ือกำรทำงำนเฉพำะ อยำ่ งที่เรำต้องกำร บำงทเ่ี รียกว่ำ User’s Program เช่น โปรแกรมกำรทำ บัญชีจ่ำยเงินเดือน โปรแกรมระบบเช่ำซ้ือ โปรแกรมกำรทำสินค้ำคงคลัง เป็นต้น ซึ่งแต่ละโปรแกรมก็มักจะมีเง่ือนไข หรือแบบฟอร์มแตกต่ำงกัน ออกไปตำมควำมต้องกำร หรือกฏเกณฑ์ของแต่ละหน่วยงำนที่ใช้ ซึ่ง สำมำรถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบำงส่วนของ โปรแกรมได้ เพื่อให้ตรงกบั ควำมต้องกำรของผู้ใช้ และซอฟต์แวร์ประยุกต์ ท่เี ขียนขน้ึ นี้โดยสว่ นใหญ่มกั ใช้ภำษำระดบั สงู เป็นตวั พัฒนำ • 2.2.2 ซอฟตแ์ วรส์ าหรบั งานท่วั ไป (General PurposeSoftware) • เปน็ โปรแกรมประยกุ ต์ท่ีมีผู้จัดทำไว้ เพื่อใชใ้ นกำรทำงำนประเภทต่ำงๆ ทั่วไป โดยผู้ใช้คนอ่ืนๆ สำมำรถนำโปรแกรมน้ีไปประยุกต์ใช้กับข้อมูล ของตนได้ แต่จะไม่สำมำรถทำกำรดัดแปลง หรือแก้ไขโปรแกรมได้ ผู้ใช้ ไม่จำเป็นต้องเขียนโปรแกรมเอง ซึ่งเป็นกำรประหยัดเวลำ แรงงำน และค่ำใช้จ่ำยในกำรเขียนโปรแกรม นอกจำกนี้ ยังไม่ต้องเวลำมำกใน กำรฝึกและปฏิบัติ ซ่ึงโปรแกรมสำเร็จรูปนี้ มักจะมีกำรใช้งำนใน หน่วยงำน ซ่ึงขำดบุคลำกรท่ีมีควำมชำนำญเป็นพิเศษในกำรเขียน โปรแกรม ดังนน้ั กำรใชโ้ ปรแกรม

15 • สำเร็จรปู จึงเปน็ สิ่งท่อี ำนวยควำมสะดวกและเป็นประโยชน์อยำ่ งยิง่ ตวั อย่ำงโปรแกรมสำเรจ็ รูปที่นิยมใช้ไดแ้ ก่ MS-Office, Lotus, Adobe Photoshop, SPSS, Internet Explorer และ เกมสต์ ำ่ งๆ เปน็ ตน้



ภาษาสาหรับการพฒั นาโปรแกรม • 2.1 ภาษาคอมพวิ เตอร์ • เครอ่ื งคอมพวิ เตอร์เป็นอปุ กรณ์อเิ ล็กทรอนิกส์ชนิดหน่ึง ที่เข้ำ มำช่วยเพ่ิมประสิทธิภำพในกำรทำงำนซึ่งสำมำรถที่จะประมวลผลงำน ได้หลำย ๆ คำสั่ง และรวดเร็วกว่ำมนุษย์มำกกำรที่จะให้คอมพิวเตอร์ ทำงำนก็จะต้องป้อนคำสั่งให้ มัน และคำสั่งนั้นจะต้องเป็นคำ ส่ังท่ี คอมพิวเตอร์เข้ำใจด้วย ซ่ึงคำส่ังเหล่ำนั้นเรำเรียกว่ำ ภำษำโปรแกรม เมอ่ื โปรแกรมถกู ปอ้ นแข้ำไปในเครื่องคอมพิวเตอร์ เครอื่ งจะทำงำนทีละ คำสั่งภำษำท่ีคอมพิวเตอร์ใช้เรียกว่ำภำษำเครื่อง (Machine Language) ซ่ึงเปน็ เลขฐำนสองและจะถกู แปลงเป็นสญั ญำณทำงไฟฟ้ำ • ยคุ ของภาษาคอมพวิ เตอร์ • 1. ภาษาในยุคท่ี 1 (First Generation Language : 1GL) คือ ภำษำเครื่อง (Machine Language) เป็นภำษำแรกเริ่มท่ีคอมพิวเตอร์ ร้จู ักและเข้ำใจ และสำมำรถส่ังกำรด้วยสัญญำณไฟฟ้ำ ซึ่งประกอบด้วย เลขฐำน 2 คอื 0 และ 1 • 2. ภาษาในยุคที่ 2 (Second Generation Language : 2GL) คือ ภำษำ ที่พัฒนำ ขึ้นมำโดยใช้สัญลักษณ์ก็คือ ตัวภำษำอังกฤษเพ่ือให้ โปรแกรมเมอร์เข้ำใจง่ำยยิ่งขึ้น ซึ่งอำจจะเป็นตัวอกั ษร 1 หรือเป็นกลุ่ม อกั ษร ภำษำที่เกดิ ข้นึ • ในยุคน้ีคือภำษำ Assembly ท่ีใช้อักษร A แทนกำร Add เป็นต้นโดย คำส่ังที่ถูกเขียนข้ึนมำจะถูกแปลภำษำให้เป็นภำษำเครื่อง ที่ชื่อ วำ่ Assembler ที่คอมพวิ เตอร์สำมำรถเข้ำใจได้

• 3. ภำษำในยุคที่ 3 (Third Generation Language : 3GL) เป็น ภำษำ ระดับสูง เน่ืองจำกมีกำรวิวัฒนำกำรจำกภำษำอังกฤษท่ีนอกจำกจะ เขียนเป็นคำสั่งได้แล้ว ยังเขียนเป็นประโยค และใกล้เคียงกับภำษำ มนุษยม์ ำกขึ้น และภำษำในยุคน้ีก็จะเป็นแบบ Procedural Language เนื่องจำกต้องมีกำรระบุรำยละเอียดของคำสั่งและกำรทำงำนต่ำง ๆ ตอ้ งเปน็ ไปตำมลำดบั ข้ันตอนเป็นบรรทัด ๆ ไป และต้องมีตัวแปลภำษำ เพื่อแปลคำส่ังจำก Source Code ให้เป็น Object Code ที่เคร่ือง สำมำรถเข้ำใจได้ ตัวอย่ำงภำษำในยุคนี้ เช่น BASIC, PASCAL, FORTRAN, COBOL, C เปน็ ต้น • 4. ภาษาในยุคที่ 4 (Fourth Generation Language : 4GL) ภำษำใน ยุคน้ี เป็นภำษำระดับสูงเช่นเดียวกันและมีควำมโดดเด่นคือ กำรใช้ คำสั่งจะมคี วำมคลำ้ ยคลึงกับประโยคภำษำอังกฤษมำกขึ้นและ สำมำรถ นำมำใช้เขียนคำสั่งเพื่อเช่ือมต่อกับฐำนข้อมูล ควำมสำมำรถด้ำน กรำฟฟิก กำรติดต่อกับผู้ใช้ (GUI) และควำมสำมำรถในกำรสร้ำงโค้ด ตัวอย่ำงภำษำในยุคน้ีได้แก่ SQL (Structured Query Language), C++, Java, ซอฟต์แวร์ในตระกูล Visual ต่ำงๆ เช่น Visual Basic เป็น ต้น • 5. ภาษาในยุคที่ 5 (Fifth Generation Language : 5GL) เรียกได้ว่ำ เป็น ภำษำ ธรรมชำติ (Natural Language) เน่ืองจำกมีควำมใกล้เคียง กับภำษำมนุษย์มำกท่ีสุด ภำษำในยุคนี้สำมำรถรองรับเทคโนโลยี ปัญญำประดิษฐ์ (Artificial Intelligence : AI) เช่นกำรทำให้เครื่อง คอมพิวเตอร์สำมำรถที่จะเขำ้ ใจคำสั่งจำกเสยี งพูดและโต้ตอบได้

• ภาษาคอมพวิ เตอรท์ ีใ่ ช้ในการพฒั นาโปรแกรม • ภาษา BASIC เป็นภำษำที่ใช้ง่ำย และติดต้ังอยู่บนเครื่อง ไมโครคอมพิวเตอร์ส่วนมำก ใช้สำหรับผู้เริ่มต้นศึกษำกำรเขียน โปรแกรมและผู้ที่เขียนโปรแกรมเป็นงำน อดิเรก นิยมใช้ในกำรเขียน โป รแกรม ส้ัน ๆ ภ ำษ ำ BASIC รุ่นแรกใช้ interpreter เ ป็ นตัว แปลภำษำ ทำให้เขียนโปรแกรม ทดสอบ และแก้ไขโปรแกรมได้อย่ำง ง่ำยดำย แต่ก็ทำงำนได้ช้ำ ทำให้ผู้ที่เขียนโปรแกรมเชี่ยวชำญแล้วไม่ นิ ย ม ใ ช้ ง ำ น แ ต่ ปั จ จุ บั น นี้ มี ภ ำ ษ ำ BASIC รุ่ น ใ ห ม่ อ อ ก ม ำ ซึ่ ง ใช้ conplier เ ป็นตัวแป ลภำษ ำ ทำให้ทำงำนได้ค ล่อ่ งตัวข้ึ น เช่น Microsoft's Quick BASICและ Visual Basic เปน็ ตน้ • ภาษา Pascal เป็นภำษำระดับสูงที่เอื้ออำนวยให้ผู้ เขียน โปรแกรมเขยี นโปรแกรมได้อย่ำงมีโครงสร้ำง และเขียนโปรแกรมได้ง่ำย กว่ำภำษำอ่ืน นิยมใช้บนเครื่องไมโครคอมพิวเตอร์ เป็นภำษำสำหรับ กำรเรยี นกำรสอน และกำรเขยี นโปรแกรมประยกุ ต์ตำ่ ง ๆ • ภำษำปำสคำลมตี ัวแปลภำษำท้งั ที่ เปน็ interpreter และ Compiler โดยจะมโี ปรแกรมเทอรโ์ บปำสคำล (Turbo Pascal) ท่ไี ดร้ บั ควำมนิยมอยำ่ งสูงทั้งในวงกำรศึกษำและธรุ กิจ เนอื่ งจำกไดร้ ับกำรปรับปรงุ ให้ตัวข้อเสยี ของภำษำปำสคำลรนุ่ แรก ๆ ออก • ภาษา C และ C++ ภำษำ C ถูกพัฒนำขึ้นโดย ในปีค.ศ. 1972 ท่ี ห้อง ป ฏิบั ติกำรเ บ ลล์ข อง บ ริษั ท AT&T เ ป็ นภำษ ำที่ใช้เ ขี ย น ระบบปฏิบัติกำร UNIX ซึ่งเป็นระบบปฏิบัติกำรที่ได้รับควำมนิยมคู่กับ ภำษำซี และมีกำรใช้งำนอยู่ในเคร่ืองทุกระดับ ภำษำ เป็นภำษำ ระดบั สูงท่ีได้รับควำมนิยมในหมนู่ ักเขียนโปรแกรมเปน็ อย่ำงมำก

• เนื่องจำกภำษำ จะเป็นภำษำที่รวมเอกข้อดีของภำษำระดับสูงในเร่ือง ของควำมยืดหยุ่นและ ไวยำกรณ์ที่ง่ำยต่อกำรเข้ำใจ กับข้อดีของ ภำษำแอสเซมบลีในเร่ืองของประสิทธิภำพและควำมเร็วในกำรทำงำน ทำให้ โปรแกรม ท่ีพฒั นำด้วยภำษำซีทำงำนได้เร็วกว่ำโปรแกรมที่เขียน ด้วยภำษำระดับสูง อื่น ๆ ในขณะท่ีกำรพัฒนำและแก้ไขโปรแกรม สำมำรถทำได้ง่ำยเช่นเดียวกันภำษำระดับสูง ท่ัว ๆ ไป นอกจำกนี้ ภำษำ C ยังได้มีกำรพัฒนำก้ำวหน้ำขึ้นไปอีก โดยทำกำรประยุกต์ แนวควำมคิดของกำรโปรแกรมเชิงวัตถุเข้ำมำใช้ในภำษำ ทำใหเ้ กิดเป็น ภำษำใหม่คือ C++ (++ ในควำมหมำยของภำษำซีคือกำรเพิ่มขึ้นอีก หนึ่งนัน่ เอง) ซง่ึ เป็นภำษำทไ่ี ดร้ บั ควำมนยิ มใชง้ ำนพัฒนำโปรแกรมอย่ำง มำก • JAVA ภำษำใหม่ท่ีมำแรงท่ีสุดในปัจจุบัน คงจะไม่มีภำษำไหนที่เทียบ ไดร้ ับภำษำจำวำซ่งึ ได้รับกำรพัฒนำข้ึนโดยบริษัทซัน ไมโครซิสเตมส์ ใน ปี 1991 โดยมีเป้ำหมำยที่จะสร้ำงผลิตภัณฑ์อิเล็คทรอนิกส์สำหรับ ผู้บริโภคที่ง่ำยต่อ กำรใช้ง่ำย มีค่ำใช้จ่ำยต่ำ ไม่มีข้อผิดพลำด และ สำมำรถใช้กับเครือ่ งใด ๆกไ็ ด้ ซ่งึ สงิ่ เหล่ำนกี้ ไ็ ด้กลำยเปน็ ขอ้ ดีของจำวำที่ เหนื่อกว่ำภำษำอื่น ๆ โดยเฉพำะอย่ำงย่ิง กำรท่ีโปรแกรมซึ่งเขียนขึ้น ด้วยจำวำสำมำรถนำไปใช้กับเคร่ืองต่ำง ๆ โดยไม่ต้องทำกำรคอมไพล์ โปรแกรมใหม่ ทำให้ไม่จำกัดอยู่กับเครื่องหรือโอเอสตัวใดตัวหน่ึง แม้ว่ำ กำรใช้งำนจำวำในช่วงแรกจะจำกัดอยู่กับ World Wide Web (WWW) และ Internet แตใ่ นปจั จุบนั ได้มกี ำรนำจำวำไปประยุกต์ใช้กับ งำนด้ำนซอฟต์แวร์ต่ำง ๆ อย่ำงมำกมำย ต้ังแต่ซอฟต์แวร์ อรรถประโยชน์ (Utility) ไปจนกระทั่งซอฟต์แวร์ขนำดใหญ่ เช่น โปรแกรมชุดจำกบริษัท Corel ซ่ึงประกอบด้วยโปรแกรมหลัก ๆ คือ โปรแกรมเวิรโ์ ปรเซสซ่งิ

• สเปรดซีต พรีเซนเตชั่น ที่เขียนขึ้นด้วยจำวำท้ังหมด จำวำยังสำมำรถ นำไปใช้เป็นภำษำสำหรับอุปกรณ์แบบฝังต่ำง ๆ เช่น โทรศัพท์ และ อุปกรณ์ขนำดมือถือแบบต่ำง ๆ เป็นต้น รวมทั้งยังได้รับควำมนิยม นำไปใช้กับอุปกรณ์ที่ใช้สำหรับเข้ำสู่อินเตอร์เน็ต โดยไม่ต้องใช้ คอมพิวเตอร์ นอกจำกน้ีแล้ว จำวำยังเป็นภำษำที่ถูกใช้งำนใน คอมพิวเตอร์แบบเอ็นซี (NC) ซ่ึงเป็นคอมพวิ เตอร์แบบใหม่ล่ำสุด ที่เน้น กำรทำงำนเป็นเครือข่ำยว่ำ แอพเพลต (applet) ท่ีต้องกำรใช้งำน ขณะนั้นมำจำกเคร่ืองแม่ ทำให้กำรติดต่อสื่อสำรสำรผ่ำนเครือข่ำยใช้ ชอ่ งทำงกำรสือ่ สำรนอ้ ยกว่ำกำรดงึ มำทง้ั โปรแกรมเป็นอย่ำงมำก • ภำษำคอมพิวเตอร์จำแนกควำมใกล้เคียงกับภำษำมนุษย์ได้ เปน็ 2 ระดับ ดงั นี้ 1.ภาษาระดับต่า (Low Level Language) เป็นภำษำที่มนุษย์ทั่วไปไม่ เข้ำใจ เช่น ภำษำที่ใช้รหัสเลขฐำนสองหรือภำษำที่พัฒนำใช้ ภำษำอังกฤษแทนรหัสเลขฐำนสอง ซ่งึ ไม่สำมำรถสื่อควำมหมำยได้ 2.ภาษาระดับสูง (High Level Language) เป็นภำษำท่ีสำมำรถส่ือ ควำมหมำยได้ใกล้เคียงกับภำษำมนุษย์ โดยเมื่ออ่ำนพอจะคำดคะเน ควำมหมำยได้ • ภาษาระดับตา่ 1.ภาษาเคร่ือง (Machine language) เป็นภำษำระดับต่ำท่ีสุด เพรำะ ใช้เลขฐำนสองแทนข้อมูล และคำส่ังต่ำงๆทั้งหมดจะเป็นภำษำท่ีข้ึนอยู่ กบั ชนิดของเครอ่ื งคอมพิวเตอร์ ในกำรใชง้ ำนจึงต้องศกึ ษำกำรโปรแกรม ของเครอ่ื งในแต่ละค่ำย และต้องคดิ นวณปรับเปลยี่ นคำส่งั

1.ตำ่ งๆให้เปน็ เลขฐำนสองทงั้ หมดกอ่ นกำรโปรแกรมเข้ำไป 2.ภาษาแอสเซมบลี (Assembly language) ใช้รหัสเป็นคำแทนคำสั่ง ภำษำเคร่ือง ทำให้ผู้เขียนโปรแกรมสำมำรถเขียนโปรแกรมได้ง่ำยขึ้น โดยใช้อักษรในภำษำอังกฤษในกำรเขียนโปรแกรม และสัญลักษณ์ท ใช้ จะเป็นคำสั่งสั้นๆทจี่ ดจำได้ง่ำย เรียกว่ำ นโี นนกิ โค้ด (Nemonic Code) • ภาษาระดบั สูง • 1. ตัวแปรภาษา • 1.1 อินเทอร์พรีเตอร์ เป็นโปรแกรมที่ใช้ในกำรแปลภำษำ ระดับสูงให้เป็นภำษำเครื่อง กำรแปลจะแปลทีละคำสั่งหรือทีละ บรรทัด และทำงำนตำมคำส่ังทันที ในกรณีที่โปรแกรมมีลักษณะ กำรทำงำนวนซ้ำ (Loop) อินเทอร์พรีเตอร์จะต้องแปลคำสั่งนั้น ซ้ำแลว้ ซำ้ อกี จึงทำใหก้ ำรแปลแบบอินเทอร์พรเี ตอร์ทำงำนชำ้ • 1.2 คอมไพเลอร์ เป็นโปรแกรมท่ีใช้แปลภำษำระดับสูงใหเ้ ป็น ภำษำเคร่ือง คอมไพเลอร์จะทำกำรแปลทั้งโปรแกรม แล้วเก็บ โปรแกรมที่แปลได้ในรูปของภำษำเคร่ืองไว้ในลักษณะของ โปรแกรมเชิงวัตถุ ถ้ำโปรแกรมที่แปลไม่มีข้อผิดพลำด ก็จะ ปฏิบัติงำนตำมคำส่ังน้ันๆทันที ในกรณีท่ีมีกำรทำงำนแบบวน ซ้ำ (Loop) เครื่องจะนำเอำโปรแกรมเชิงวัตถุท่ีแปลเก็บไว้ไปใช้ ทำงำน โดยไม่ต้องมีกำรแปลซ้ำอีก ทำภให้กำรทำงำนเร็วกว่ำ กำรแปลแบบอนิ เทอร์พรีเตอร์ •

• 2. ภาษาระดับสูงกบั การใชง้ าน • 2.1 ภาษาฟอร์แทรน (FORTRAN : FORmular TRANslation) เป็นภำษำท่ีเหมำะในงำนด้ำนวิทยำศำสตร์ วิศวกรรมศำสตร์ และคณิตศำสตร์ซึ่งเป็นงำนท่ีมักใช้กำร ประมวณผลทซ่ี ับซ้อน ภำษำฟอร์แทรนไมเ่ หมำะกับกำรพิมพ์งำน หรอื งำนที่ตอ้ งกำรเกบ็ ข้อมูลเปน็ ไฟล์เพรำะคำสัง่ ด้ำนน้ีมนี อ้ ย • 2.2 ภาษาโคบอล (COBOL : Common Business Oriented Language) เป็นภำษำท่ีมีคำส่ังคล้ำยคลึงกับ ภำษำอังกฤษ ถูกออกแบบมำเพื่อใช้ในงำนทำงธุรกิจและเป็น ภำษำที่ประสบควำมสำเร็จในกำรใช้งำนธุรกิจ โคบอลเป็นภำษำ โครงสร้ำงที่มีจุดอ่อน คือ เป็นภำษำที่ยำกกว่ำภำษำอ่ืน โดยเฉพำะผู้เริ่มต้นไม่มีประสบกำรณ์ในกำรใช้งำน ปัจจุบันโค บอลได้รับกำรปรบั ปรุงให้ดขี ้นึ เรียกว่ำ ANSI COBOL และขยำย ให้ใชเ้ ป็นภำษำเชิงวตั ถุ คอื COBOL 97 • 2.3 ภาษาปาสกาล (PASCAL) ภำษำปำสกำลมีลักษณะเด่น คือ เป็นภำษำโครงสร้ำง (StructurePrograming) สำมำรถใช้ งำนกับคอมพิวเตอร์ได้หลำยรุ่นและรุ่นที่นิยมมำก คือ เทอร์โบ ปำสกำล (Terbo Pascal) ที่ใช้เนื้อที่ของโปรแกรมน้อย ในยุคที่ ใช้แผ่นบันทึก และข้อท่ีสำคัญ สำมำรถรำยงำนข้อผิดพลำดของ กำรเขียนโปรแกรมได้ดี ทำให้ผู้เขียนโปรแกรมสำมำรถเข้ำแก้ไข กำรเขียนโปรแกรมตรงจดุ ทผ่ี ดิ พลำดได้ตรงตำแหนง่

• 2.4 ภาษาซี ( C ) เป็นภำษำทึ่เขียนโปรแกรมแบบโครงสร้ำง มีรปู แบบคำส่ังค่อนข้ำงอิสระ มีคำส่งั และฟงั กช์ ันมำก สำมำรถใช้ กบั งำนได้ประเภท สำมำรถควบคมุ ฮำร์ดแวร์ได้ • 2.5 ภาษาเบสิก (BASIC : Beginners ALL-purpose Symbolic Instruction Code) จดุ เด่นของภำษำเบสิก คือ ระบบปฏิบัติกำร (Operating System) ของภำษำนี้ใช้เน้ือท่ี นอ้ ย คำส่ังต่ำงๆมีน้อย แต่สำมำรถใช้งำนได้อย่ำงมีประสิทธิภำพ เป็นภำษำทีเ่ ข้ำใจ และถูกออกแบบเพ่ือใชง้ ำนในลกั ษณะโต้ตอบ • 2.6 ภาษาอัลกอล (ALGOL : ALGOrithmic Language) เป็นภำษำโครงสรำ้ งใชก้ บั งำนดำ้ นวิทยำศำสตร์และ คณิตศำสตร์ ลักษณะคล้ำยกับภำษำ FORTRAN ลักษณะ โปรแกรมจะแยกออกเ ป็นส่วนๆ เรียกว่ำ ดป รแกรม ยอ่ ยๆ (Subroutine หรือ Procedure) • 2.7 ภาษาพีแอลวัน (PL/I : Programming Language/I) เป็นภำษำท่ีถูกพัฒนำขึ้นเพ่ือใช้กับงำนธุรกิจและ วิทยำศำสตร์ โดยรวมเอำข้อดีของภำษำฟอร์แทรนและโคบอล เข้ำด้วยกัน คือ สำมำรถทำกำรคำนวณได้ดีเหมือนกับภำษำฟอร์ แทรน และสำมำรถจัดไฟล์และทำรูปแบบรำยงำนได้เหมือนกับ ภำษำโคบอล • 2.3 การโปรแกรมเชิงวตั ถุ • การเขยี นโปรแกรมเชงิ วตั ถุ • (Object Oriented Programming: OOP)

• ย้อนไปในปี 1967 Dr. Kristen Nygaard ชำวนอร์เวย์ ได้คิดค้นวิธีกำร เขยี น • โปรแกรมเชิงวัตถทุ ชี่ อ่ื Simula-67 ซ่ึงเปน็ จดุ เร่ิมต้นของกำรเขียนโปรแกรมแบบใหมท่ ่ี เรยี กวำ่ Object-Oriented Programming (OOP) ข้อดีของกำรเขียน โปรแกรมแบบ OOP คือชว่ ยใหผ้ ู้เขียนโปรแกรมสำมำรถเปล่ยี นแปลง โปรแกรมที่เขียนมำแล้วได้งำ่ ยขนึ้ และโปรแกรมทีเ่ ขยี นขึน้ มำสำมำรถ นำไปใช้ในโปรแกรมทเ่ี ขียนขนึ้ ใหม่ได้ โดยอำจมกี ำรแก้ไขเพยี งเลก็ นอ้ ย หรอื ไมแ่ กไ้ ขเลย (Reusable) • กำรเขียนโปรแกรมแบบ OOP เร่ิมมีบทบำทมำกขึ้นในปัจจุบัน ผ้เู ขยี นโปรแกรมจำนวนหนึ่งได้เปลี่ยนกำรเขียนโปรแกรมแบบกระบวน คำสั่ง (Procedural Programming) ไปเป็นแบบ OOP เพรำะ โปรแกรมสว่ นใหญท่ ่ีสร้ำงขึ้นโดยกำรเขียนโปรแกรมแบบกระบวนคำสั่ง มีแนวโน้มว่ำจะเกิดควำมซับซ้อนสูง ส่งผลให้กำรแก้ไข กำร เปล่ียนแปลงโปรแกรม และกำรน ำบำงส่วนของโปรแกรมมำใช้ใหม่ทำ ไดย้ ำกข้นึ และทำให้เกิดปญั หำอน่ื ๆ ตำมมำได้ • วิธีกำรออกแบบโปรแกรม คือ ข้อแตกต่ำงระหว่ำงกำรเขียนโปรแกรม แบบกระบวนคำสั่งและ OOP กำรเขียนโปรแกรมแบบเดิมใช้กำร ออกแบบจำกบนลงล่ำง (Top-Down Approach) กล่ำวคือผู้ออกแบบ จะวิเครำะห์ปัญหำโดยรวม (Problem Domain) และหำข้ันตอนกำร แก้ปัญหำ (Algorithm) โดยแตกปัญหำออกเป็นส่วนย่อยๆหรือฟังก์ชัน และใช้ภำษำคอมพิวเตอร์ (Programming Language) เช่น ภำษำ C หรือ Pascal ในกำรแก้ปัญหำแต่ละส่วน โดยแต่ละส่วนย่อย (Module)

• จะมีควำมสัมพันธ์ต่อกัน ถ้ำมีกำรแก้ไขเปล่ียนแปลงบำงส่วนในฟงั ก์ชัน อำจกระทบกระเทือนทุกส่วนได้ ดังน้ันกำรออกแบบจำกบนลงล่ำงจึง เหมำะสำหรับกำรแก้ปัญหำที่ไม่ซับซ้อน เพรำะถ้ำปัญหำมีควำม ซับซ้อนมำกกำรแก้ไขมีควำมซับซ้อนมำกขึ้นด้วย ข้อจำกัดของกำร ออกแบบจำกบนลงล่ำงอกี ประกำรหนึ่งคือ ไม่มีควำมยืดหยุ่นของกำรน ำโปรแกรมท่เี ขยี นแลว้ กลบั ไปใชใ้ หม่ ฟังก์ชันทม่ี อี ยู่ในโปรแกรมเดิมอำจ ไม่มีควำมเหมำะสมท่ีจะนำไปใช้กับโปรแกรมใหม่ เพรำะฟงั ก์ชันนั้นถูก ออกแบบให้ใช้กับกำรแก้ปัญหำใดปัญหำหนึ่งเท่ำนั้น ตรงข้ำมกับกำร ออกแบบโปรแกรมโดยให้ควำมสำคัญกับวัตถุเป็นหลักซ่ึงเป็นกำร ออกแบบจำกลำ่ งขึ้นบน (Bottom-Up Approach) • กำรออกแบบจำกล่ำงข้ึนบนให้ควำมสำคัญกับวัตถุเป็นหลัก และ พยำยำมหำวัตถุท่ีเคยสร้ำงมำแล้วมำประกอบในกำรสร้ำงโปรแกรม ซ่ึง จะทำให้ประหยดั เวลำในกำรสร้ำง ตัวอย่ำงเช่น กำรสร้ำงบ้ำนแทนที่จะ เริ่มลงมือก่อสร้ำงบ้ำนทันที แต่ช่ำงก่อสร้ำงควรจะให้ควำมสำคัญกับ วัสดุที่ใช้สร้ำงบ้ำนก่อน เช่นใช้ไม้หรือปูนในกำรสร้ำง ประตูเป็นไม้หรือ พลำสตกิ มีขนำดมำตรฐำนเท่ำใด หน้ำต่ำงแบบใดเป็นต้น ข้อดีของกำร กำรออกแบบเชิงวัตถุคือโปรแกรมที่ถูกออกแบบแล้วสำมำรถแก้ไขได้ ง่ำยเพรำะวัตถุแต่ละช้ินมีควำมเป็นอิสระต่อกัน และวัตถุที่สร้ำงข้ึน มำแล้วสำมำรถนำกลับไปใช้ใหม่ได้อีก ทำไมบริษัทยักษ์ใหญ่ผู้ผลิต คอมพิวเตอร์เช่น Gateway,IBM, Dell, Apple หรือ HP สำมำรถ เติบโตได้อย่ำงต่อเน่ือง ในภำวะที่เทคโนโลยีมีกำรเปล่ียนแปลงอย่ำง รวดเรว็ ทำไมบรษิ ัทเหล่ำนี้สำมำรถผลิตคอมพิวเตอร์รุ่นใหม่ๆ ได้ทันกับ ควำมต้องกำรของลูกค้ำได้ตลอดเวลำ คำตอบคือ บริษัทเหล่ำน้ีไม่ได้ เปน็ ผผู้ ลติ ชนิ้ สว่ น

• คอมพิวเตอร์ท้ังหมดเอง แต่ได้ซื้อชิ้นส่วนท่ีมีอยู่แล้วจำกบริษัทที่มี ชื่อเสียง เช่น ซ้ือไมโครโปรเซสเซอร์จำกบริษัทIntel ซื้อหน่วยควำมจำ สำรองจำกบริษัท Seagate เป็นต้น และนำอุปกรณ์ต่ำงๆ ที่ซื้อมำ ประกอบเป็นคอมพิวเตอร์ในนำมของบริษัทเอง ทำให้สำมำรถผลิต คอมพวิ เตอรร์ ุน่ ใหม่ไดท้ ันตลอดเวลำตัวอย่ำงทย่ี กมำน้ัน แสดงใหเ้ ห็นถึง กำรทำงำนโดยยึดถอื ควำมสำคัญของวัตถเุ ปน็ หลกั • องคป์ ระกอบของ OOP แบง่ เป็น 4 ส่วนคอื 1. Abstraction คอื กำรกำจัดข้อมูลทไี่ มเ่ กี่ยวขอ้ งทิ้งไป โดยให้ เหลอื ขอ้ มลู ทต่ี อ้ งกำรเพยี งพอตอ่ กำร แกป้ ัญหำเทำ่ น้นั 2. Encapsulation กำรนำ Operation หรอื กำรเขำ้ รวมเป็น สว่ นหนงึ่ ของวตั ถุ เพ่ือซ่อนรำยละเอียดทีไ่ ม่ เกี่ยวขอ้ ง และลดควำมซับซ้อนของวัตถุตอนเวลำนำไปใชง้ ำน 3. Inheritance หมำยถงึ กำรสรำ้ งคลำสใหมจ่ ำกคลำสเดิมทีม่ ี อย่แู ล้วโดยมีกำรถำ่ ยทอดคณุ สมบตั ิของ คลำสหลกั มำ 4. Polymorphism กำรอนุญำตตง้ั ชอ่ื ฟงั กช์ ันให้ซำ้ กันได้ แบง่ เป็น 2 ประเภทคือ Overloading และ Overriding • Abstraction และ Encapsulation • Abstraction คอื กำรกำจัดข้อมูลทีไ่ ม่เกี่ยวขอ้ งทง้ิ ไปให้เหลือข้อมูลที่ ตอ้ งกำรเทำ่ นน้ั กำรแทนวตั ถุที่มอี ยูใ่ นโลกควำมเปน็ จรงิ ลงในระบบ คอมพิวเตอร์ ต้องพิจำรณำถงึ คณุ สมบตั ทิ สี่ ำคัญของวตั ถุเทำ่ นนั้ เป็นไป ไมไ่ ด้ท่จี ะพิจำรณำคุณสมบตั ิทกุ ขอ้ มำของวัตถทุ ี่มอี ยจู่ ริง

• ตวั อยำ่ งเช่นกำรแทนคุณสมบัตขิ องมนุษยล์ งในระบบคอมพิวเตอร์ มนุษยม์ คี ณุ สมบัติหลำยอย่ำงเชน่ เปน็ ส่ิงมีชีวิต กินอำหำรได้ ขับถ่ำยได้ แต่หำกมนษุ ยท์ ี่เป็นสมำชิกของรำ้ นวดิ ีโอแหง่ หน่ึง ขอ้ มลู ของมนุษย์ทว่ี ่ำ มนษุ ย์เปน็ สงิ่ มชี ีวติ หรอื กนิ อำหำรได้ เปน็ ขอ้ มูลทีไ่ มเ่ ก่ยี วขอ้ งกบั สมำชิกของรำ้ นวดี ีโอนเี้ ลย ขอ้ มลู ท่เี ก่ยี วขอ้ งอำจเป็น หมำยเลขสมำชิก ชือ่ นำมสกุล อำยุ รำยกำรหนังท่ียืมไป ยอดคำ้ งชำระเป็นต้น ดังนั้น Abstraction เป็นวธิ กี ำรมองวตั ถุโดยพิจำรณำวำ่ มคี ุณสมบัติ ใดบ้ำงทจี่ ะแทนวัตถุนัน้ โดยพจิ ำรณำคุณสมบตั ทิ เี่ กี่ยวข้องกบั วัตถุ สำหรับในกำรแก้ปญั หำใดปญั หำหนึง่ เทำ่ นั้น Encapsulation เป็นองค์ประกอบท่สี ำคญั อกี ประกำรหนงึ่ ของ OOP ซง่ึ หมำยถึงกำรน ำกำรปฏบิ ตั ิกำร (Operation) รวมเป็นส่วนหน่ึงของวตั ถุ เหตทุ เ่ี ป็นเชน่ น้เี พรำะว่ำ ตอ้ งกำรซ่อนขอ้ มูลของวัตถุไว้ ผใู้ ชง้ ำนไม่ จำเป็นตอ้ งทรำบถงึ รำยละเอียดต่ำงๆของวตั ถนุ ้ัน เพียงทรำบถงึ วิธกี ำร จะใชว้ ัตถุนนั้ กเ็ พยี งพอ ตัวอยำ่ งเชน่ กำรใชง้ ำนเคร่อื งรบั โทรทศั น์ ผใู้ ชง้ ำนไม่จำเปน็ ตอ้ งเข้ำใจถึงวงจรไฟฟ้ำภำยในเครื่องรับโทรทัศน์วำ่ มี กำรท ำงำนอยำ่ งไรแตต่ ้องเข้ำใจวำ่ จะเปดิ ปดิ หรือเปลี่ยนชอ่ ง อย่ำงไร ก็เพียงพอ ข้อดอี ีกประกำรหนง่ึ ของ Encapsulation คอื ทำให้กำร ปฏบิ ัตกิ ำรของวัตถุนน้ั ไมส่ ำมำรถนำไปใช้กบั วัตถอุ นื่ ได้ ทำใหม้ ีควำม ปลอดภยั เพม่ิ มำกขึ้น เช่น ผูใ้ ชง้ ำนคงไมอ่ ยำกใหก้ ุญแจควบคุม ระยะไกลของรถยนตข์ องผู้อนื่ สำมำรถเปดิ ประตูรถยนต์ของผู้ใชง้ ำนได้

• วัตถุ (Object) • เม่ือกล่ำวถงึ คำวำ่ กำรสรำ้ งวตั ถุ มคี ำถำม 2 ข้อทผ่ี ู้เขยี น โปรแกรมภำษำ Java ตอ้ งตอบคอื 1) วตั ถนุ ี้ประกอบดว้ ย อะไร? และ 2) วตั ถุน้ีสำมำรถทำอะไรไดบ้ ำ้ ง คำวำ่ ประกอบดว้ ยอะไร หมำยถึงคณุ สมบตั ิของวัตถุ(Attributes) และทำอะไรบำ้ งหมำยถงึ กำรท ำงำนของวัตถุ (Methods) ตัวอยำ่ งเช่น ประตู คณุ สมบตั ขิ อง ประตู คอื ทำจำกไม้ พลำสติก หรอื เหลก็ รวมถงึ สขี องประตู สว่ นกำรท ำงำนของวัตถุ คือ สำมำรถเปดิ ได้ และปดิ ได้ ดังน้ันกำรออกแบบวัตถุ ต้องพงึ่ คำถำม 2 ข้อท่กี ล่ำวในเบ้อื งต้น

• ในภำพท่ี 3.1 กำรออกแบบผลไมโ้ ดยคำนงึ ถงึ พลังงำนท่ีมีในผลไม้ เท่ำนัน้ ใช้หลักกำรของ Abstraction กำรกำจดั ข้อมลู ทีไ่ ม่เก่ยี วขอ้ งทง้ิ ไปให้เหลือข้อมูลทต่ี ้องกำร ดงั นั้นผลไมม้ ีคุณสมบัตคิ อื นำ้ หนกั และ พลงั งำนตอ่ 1 กรัม สว่ นกำรทำงำนของผลไมค้ อื กำรคำนวณหำ พลงั งำนทัง้ หมด คุณสมบัตอิ ืน่ ๆ ท่ีไมเ่ ก่ียวข้องเช่น สี รสชำติ กลน่ิ และ รปู ร่ำง จะไม่นำมำพจิ ำรณำ ถ้ำนำคุณสมบัติท่ไี มเ่ กี่ยวขอ้ งมำพิจำรณำ อำจทำให้กำรออกแบบวัตถุ ผิดพลำดจำกวัตถุประสงคท์ ่ีต้ังไว้ • คลาส (Class) และวัตถุ (Object) • ก่อนกำรสร้ำงวตั ถุ จำเปน็ ต้องมีกำรออกแบบวตั ถกุ อ่ น เชน่ กำร สร้ำงบำ้ น สถำปนกิ ตอ้ งออกแบบโครงสรำ้ งของบำ้ นลงบน กระดำษพมิ พเ์ ขียว จำกนนั้ วศิ วกรจึงนำกระดำษพิมพเ์ ขียวไปสรำ้ งเปน็ บำ้ นกระดำษพิมพเ์ ขียวมเี พยี งแผน่ เดียว แต่สำมำรถนำไปสร้ำงบ้ำนได้ หลำยสบิ หลัง ในมุมมองของ OOP กระดำษพิมพ์เขยี วเปรยี บเหมอื น คลำส และบำ้ นที่ถกู สร้ำงขนึ้ เปรยี บเหมอื นวตั ถุ ดังน้นั กอ่ นทีจ่ ะสร้ำง วตั ถตุ ้องมีกำรออกแบบคลำสของวัตถนุ ั้นข้ึนมำกอ่ นจำกภำพท่ี 3.2 ตรำ ยำเปรยี บไดเ้ ป็นคลำส และเม่ือนำตรำยำงไปกดลงบนกระดำษ รอย พมิ พ์ท่ีอยู่บนกระดำษคือวตั ถุ ตรำยำงนั้นไม่สำมำรถนำไปใชไ้ ด้โดยตรง แตร่ อยพิมพ์สำมำรถนำไปใช้ได้ และตรำยำงสำมำรถสร้ำงรอยพมิ พไ์ ด้ หลำยรูป หลำยสี ดังนน้ั ตรำยำงกค็ อื ตวั อย่ำงทดี อี ันหนึง่ ที่แสดงใหเ้ หน็ ถึงข้อแตกต่ำงระหวำ่ งคลำส และวตั ถุ

คลำสรถยนต์ประกอบไปดว้ ย ลอ้ คนั เร่ง และเบรก รถยนตค์ ันน้ี สำมำรถเดินหน้ำได้ และหยุดได้ ขน้ั ตอนแรกของกำรประกำศ คลำสในภำษำ Java ใชค้ ำหลัก (Keyword) 2 คำในกำรประกำศ คอื public class ตำมดว้ ยช่ือของคลำส ดังนัน้ ในกำรประกำศ คลำสรถยนต์คือ public class Vehicle คำหลกั public คอื ส่วน ขยำย (Modifier) ท่หี มำยถึงคลำสนเี้ ป็นคลำสสำธำรณะซงึ่ คลำส อน่ื สำมำรถเรียกใช้ไดโ้ ดยไมม่ ีขอ้ จำกัด (เร่ืองส่วนขยำยจะกลำ่ วถงึ ในบทที่ 4) เมื่อไดป้ ระกำศคลำสแลว้ ขน้ั ตอนต่อไปตอ้ งสรำ้ ง คณุ สมบตั แิ ละกำรท ำงำนของคลำสโดยท่จี ะมเี คร่อื งหมำย“{“ และ “}” แสดงจดุ เริ่มตน้ และสนิ้ สดุ ของคลำส เชน่

• ให้สังเกตว่ำคำหลัก public และ class จะต้องเป็นตัวอักษรตัวเล็ก เท่ำน้ัน ในภำษำ Java ค ำๆ เดียวกันข้ึนต้นด้วยตัวอักษรตัวใหญ่ ไม่ เหมือนกับคำท่ีขึ้นต้นด้วยอักษรตัวเล็ก (Case-Sensitive) ตัวอย่ำงเช่น “Vehicle” จะแตกต่ำงจำก “vehicle” เมื่อนำ Source Code นี้ผ่ำน ตวั แปลภำษำ จะเกิดควำมผิดพลำด ดังน้ันผู้เขียนโปรแกรมควรระวังใน กำรต้ังช่ือตัวแปรต่ำงๆ โดยทั่วไปชื่อของคลำสจะนิยมต้ังชื่อโดยข้ึนต้น ด้วยอักษรตัวใหญ่จำกภำพท่ี 3.3 สำมำรถนำมำสร้ำงคลำสรถยนต์ใน ภำษำ Java โดยลอ้ • รถยนตม์ ี 4 ล้อคอื rightFrontWhell, leftFrontWheel, • rightRearWheel และ leftRearWheel เบรกคือ brake สว่ น • คันเร่งคือ acceleratorเช่นเดียวกับคลำส Vehicle หน้ำ Method run() และ brake() มีคำว่ำ public นำหน้ำเพ่ือต้องกำร ให้ Methods ทั้ง 2 ตัวนี้สำมำรถเรียกใช้งำนได้โดยไม่มีเง่ือนไข ส่วน void เป็นกำรกำหนดให้ Method run() และ brake() ไม่ต้องส่ง ค่ำใดๆ กลับมำ บำงคร้ังผู้เขียนโปรแกรมต้องกำรให้มีกำรส่งค่ำกลับมำ จำก Method ท่ีเรียกใช้งำนอยู่ เช่น กำรคำนวณหำค่ำผลลัพธ์ของเลข ยกกำลังสอง int power (int x) ค่ำท่ี Method power() ส่งกลับมำคือ คำ่ ของเลขจำนวนเตม็ x2 และกำรสง่ คำ่ กลับต้องใช้คำสั่ง return แต่ใน บำงครงั้ ผ้เู ขียนโปรแกรมไมต่ อ้ งกำรใหม้ ี • กำรคณุ สมบตั ิ (Attributes) Wheels Acceleratorpedal Brakepedal กำรทำงำนของวตั ถุ (Methods) Run Break ส่งค่ำ • กลบั มำจำก Method กต็ ้องใสค่ ำวำ่ void ไว้ขำ้ งหนำ้ Method ส่วน เคร่อื งหมำย “;” จำเปน็ ตอ้ งใสเ่ มื่อมกี ำรจบหนง่ึ คำส่งั ยกเว้นในกรณที ี่ มเี ครอื่ งหมำยขอบเขต “{“ และ “}” ไมจ่ ำเปน็ ตอ้ งใสต่ อ่ ทำ้ ย

• กำรสร้ำงวตั ถุ • เมื่อผู้เขียนโปรแกรมได้สร้ำงคลำสเรยี บรอ้ ยแลว้ คลำสน้นั ไม่ สำมำรถนำไปใช้งำนไดท้ นั ที ตอ้ งมีกำรสรำ้ งวตั ถจุ ำกคลำสนน้ั ขน้ึ มำ ก่อนเหมอื นตัวอย่ำงตรำยำงในรปู ท่ี 3.2 กำรสรำ้ งวตั ถจุ ะใชค้ ำหลักวำ่ new ดังตัวอยำ่ ง จำกตัวอย่ำงจะเห็นว่ำรถยนต์ไมจ่ ำเปน็ ต้องมแี บบเดียว สำมำรถเปน็ ได้หลำย ชนิดแต่เป็นรถยนต์เหมือนกันกำรเรียกใช้ Method ในรถยนตส์ ำมำรถทำไดโ้ ดย เรียกช่อื ของวตั ถกุ ่อนแล้วตำมด้วย Method ทต่ี ้องกำรโดยคั่นดว้ ย “.” เช่น

• ขอบเขตการใช้งานของตัวแปร • กำรประกำศตัวแปรตำ่ งสถำนทมี่ ีผลโดยตรงกับกำรคงอยูแ่ ละ ขอบเขตที่จะเรียกใช้ตัวแปรเหลำ่ น้ี • กำรประกำศตวั แปรในตำแหน่งที่ตำ่ งกัน ขอบเขตกำรใช้งำนของตัวแปร แบง่ เปน็ 3ประเภทคือ • 1. Member Variable • 2. Method Variable • 3. Local Variable

• ตัวแปร x เปน็ Member Variable ซึง่ สำมำรถเรยี กใชไ้ ดท้ กุ ทีภ่ ำยใน คลำสScopeVariable สำหรบั ตวั แปรy เป็น Method Variable ซึ่ง สำมำรถเรยี กใช้ไดภ้ ำยใน Method เทำ่ น้นั ไม่สำมำรถอำ้ งถึงตัว แปร y ภำยนอกMethod ได้ สุดท้ำยตัวแปร i เป็น Local Variable ซ่ึงเรยี กใชไ้ ดภ้ ำยใน for Loop เทำ่ นน้ั เมือ่ สิน้ สดุ for Loop ตวั แปร i จะถูกยกเลกิ ไป ทำให้คำสงั่ สุดท้ำย System.out.println(i) นัน้ ผิดเพรำะไม่สำมำรถอ้ำงถงึ ค่ำ ของ i ไดอ้ ีกเนือ่ งจำกตวั แปร i เป็น Local Variableดังนั้นตำแหน่งที่มี กำรประกำศตัวแปรจะทำใหข้ อบเขตของกำรเรยี กใช้งำนตวั แปรมี ข้อจำกดั ดงั กล่ำวดว้ ย ขอบเขตการใชง้ านของตวั แปร กำรประกำศตัวแปรต่ำงสถำนท่ีมีผลโดยตรงกบั กำรคงอยู่ และขอบเขตทจ่ี ะเรียกใช้ตัวแปรเหลำ่ นี้ กำรประกำศตัวแปรในตำแหน่งท่ีต่ำงกนั ขอบเขตกำรใชง้ ำนของตวั แปรแบ่งเปน็ 3ประเภทคือ 1. Member Variable 2. Method Variable 3. Local Variable

• ตัวแปร x เปน็ Member Variable ซึ่งสำมำรถเรียกใชไ้ ดท้ กุ ที่ภำยใน คลำสScopeVariable สำหรบั ตวั แปรy เป็น Method Variable ซ่งึ สำมำรถเรียกใชไ้ ดภ้ ำยใน Method เท่ำน้นั ไมส่ ำมำรถอำ้ งถงึ ตัว แปร y ภำยนอกMethod ได้ สุดท้ำยตัวแปร i เปน็ Local Variable ซง่ึ เรยี กใช้ได้ภำยใน for Loop เท่ำนั้น เมอ่ื ส้ินสุด for Loop ตัวแปร i จะถกู ยกเลิกไป ทำใหค้ ำสงั่ สดุ ทำ้ ย System.out.println(i) น้ันผดิ เพรำะไมส่ ำมำรถอ้ำงถงึ ค่ำ ของ i ไดอ้ ีกเน่อื งจำกตัวแปร i เป็น Local Variableดังน้ันตำแหน่งทม่ี ี กำรประกำศตัวแปรจะทำใหข้ อบเขตของกำรเรียกใช้งำนตัวแปรมี ขอ้ จำกดั ดังกลำ่ วด้วย

• การเขียน Java Documentation • ในอดีตเอกสำรทใ่ี ช้ในกำรอธบิ ำยกำรเรยี กใชง้ ำนโปรแกรม สำหรบั ผูใ้ ชง้ ำน (Application ProgrammingInterface: API) จะถูก แยกออกมำจำกส่วนของโปรแกรม และกำรท ำเอกสำรน้ี ต้องใช้ โปรแกรมสร้ำงเอกสำรทั่วไปเชน่ Notepad หรอื Microsoft Word ทำ ใหก้ ำรจัดกำรเอกสำรและโปรแกรมมีควำมยุ่งยำกและซับซอ้ น ดงั น้นั ใน ภำษำ Java ไดใ้ ช้หลักใหมส่ ำหรับกำรสรำ้ งเอกสำรอธิบำยกำรเรยี กใช้ งำนโปรแกรมทส่ี รำ้ งข้นึ โดยใหผ้ เู้ ขียนโปรแกรมภำษำ Java สำมำรถ สรำ้ งคำอธบิ ำยโปรแกรมไปพร้อมกบั กำรเขียนโปรแกรมได้เลยใน แฟ้มขอ้ มูลที่เป็นSource Code เดยี วกนั วิธีนที้ ำให้กำรจดั กำรเอกสำร นนั้ มคี วำมงำ่ ยและมีประสทิ ธิภำพมำกขึน้ โปรแกรมFruit.java (สรำ้ ง ข้นึ โดยใชต้ ัวอยำ่ งในภำพที่ 3.1) แสดงกำร ใช้ JavaDocumentation หรือ Javadoc Comment ในกำรอธิบำย กำรทำงำนของคลำส Fruit ในโปรแกรมท่ีแสดงนี้ Javadoc comment คอื สว่ นคำอธิบำยท่ีอยู่ระหว่ำงเคร่ืองหมำย /** และ เคร่อื งหมำย */ และเมื่อขึน้ บรรทัดใหม่ ต้องมเี ครือ่ งหมำย * นำหนำ้ ทุก บรรทัดดว้ ย ดังตัวอยำ่ ง • • ในสว่ นของโปรแกรมคลำส Fruit มีกำรแทรก Javadoc Comment แสดงในแถบสที ่ีเขม้ กว่ำ ซึง่ อธบิ ำยโปรแกรมว่ำทำหน้ำที่ อะไร รบั Argument แบบใดบ้ำง และมกี ำรสง่ คำ่ กลับคอื เปน็ แบบใด จำกตัวอยำ่ ง คลำส Fruitมีคณุ สมบัติ 2 ส่วนคือ น้ำหนัก (Weight) และ ค่ำพลังงำน (หน่วยเป็น Calorie) ตอ่ 1 กรัม และมี Constructor เพือ่ รับขอ้ มลู น้ำหนักและค่ำพลังงำน

• สว่ น Method total_cal() จะคำนวณหำคำ่ ของพลงั งำนทง้ั หมดท่ีมี โปรแกรม TestFruit แสดงกำรใชง้ ำนคลำส Fruit • กำรเขยี น Comment โดยใช้ Javadoc จะตอ้ งแทรกคำอธิบำยกอ่ น คลำส หรอื กอ่ น Method

• UML คอื โมเดลท่ใี ชใ้ นกระบวนกำรออกแบบ Object-Oriented Software เมือ่ กล่ำวถึงคำวำ่ โมเดล ผู้อำ่ นอำจนกึ ถงึ รปู แบบจำลอง ตำ่ งๆ เช่น รูปแบบจำลองรถยนต์ เครื่องบิน หรือหุ่นยนต์ ทเี่ คยเล่น ตอนเป็นเด็ก อนั ที่จริงแล้ววัตถปุ ระสงค์หลกั ของกำรสรำ้ งโมเดลนั้นคอื กำรทดสอบวำ่ ส่งิ ที่ออกแบบมำบนกระดำษจะสำมำรถนำมำสร้ำงเปน็ วัตถุจรงิ และทำงำนได้หรือไม่ โดยมีคำ่ ใช้จำ่ ยนอ้ ยทีส่ ดุ ตัวอยำ่ งกำรใช้ โมเดล คอื กำรสร้ำงเครอ่ื งบนิ วศิ วกรกำรบินจะมีกำรสรำ้ งโมเดลซึง่ รำคำไมแ่ พงเพ่ือทดสอบกำรทำงำน เช่นสรำ้ งโครงเครอื่ งบินขนำด ย่อสว่ น เพื่อในไปทดสอบในอโุ มงลม ในกรณที ีท่ ดสอบด้วยโมเดลแล้ว ปรำกฎว่ำโมเดลน้ีทำงำนไดไ้ ม่ถกู ต้อง กไ็ ม่มคี วำมจำเปน็ ทต่ี อ้ งไปสรำ้ ง วตั ถจุ ริงเพื่อทดสอบอกี และโมเดลท่ัวไปจะมำรำคำท่ถี กู มำกเม่ือเทียบ กับอุปกรณจ์ รงิ เชน่ เดยี วกบั โมเดลUML ซึ่งเปน็ โมเดลท่ใี ชใ้ นกำร ทดสอบว่ำคลำสต่ำงๆ ทอ่ี อกแบบมำนน้ั มคี วำมเป็นไปได้วำ่ จะทำงำนได้ จรงิ โดยไม่จำเป็นต้องไปเขียนโปรแกรมจรงิ เพอ่ื ทดสอบ ใหพ้ จิ ำรณำว่ำ ในกำรพัฒนำระบบซอฟตแ์ วร์ที่มขี นำดใหญ่ ตัวซอฟต์แวร์อำจ ประกอบดว้ ยคลำสจำนวนเปน็ รอ้ ยคลำส ดังน้นั ถ้ำไมม่ ีกำรออกแบบทดี่ ี และให้ผเู้ ขยี นโปรแกรมเร่มิ เขยี นโปรแกรมทันที อำจส่งผลให้ซอฟต์แวร์ นที้ ำงำนไม่สำเร็จ วตั ถุประสงคข์ องกำรใช้ UML น้นั เพ่อื ใชใ้ นกำร ออกแบบระบบซอฟต์แวร์ขนำดกลำงถงึ ใหญ่ และเพ่ือเปน็ สอ่ื เพ่อื ให้ ผเู้ ขยี นโปรแกรมสำมำรถสอ่ื สำรควำมคดิ ของตนเองใหเ้ พื่อนท่ีเปน็ ผูพ้ ัฒนำซอฟต์แวร์ไดอ้ ยำ่ งมปี ระสทิ ธภิ ำพ • ในช่วงปี 1990 James Rumbaugh, Grady Booch และ Ivar Jacobson ได้พฒั นำภำษำ UML ข้นึ โดยกำรนำเอำข้อดี ของ Modeling Language ของทงั้ สำมคนทีเ่ คยพัฒนำไว้แลว้ มำ รวมกนั เป็นหนงึ่ เดยี วกัน (Unified) เพ่ือสร้ำง Modeling

• Language ทด่ี ที ีส่ ุดสำหรับกำรพฒั นำซอฟต์แวร์ • ในกำรพัฒนำซอฟตแ์ วรเ์ ชิงวัตถุ ขัน้ ตอนทีใ่ ชเ้ วลำมำกทส่ี ดุ คือ ขนั้ ตอนกำรออกแบบ ซง่ึ ผู้ออกแบบจะต้องระดมควำมคดิ ในกำร ออกแบบคลำสตำ่ งๆ ที่จำเปน็ ตอ่ กำรสร้ำงซอฟตแ์ วร์ ดังนนั้ กำรใช้ ภำพวำดแทนรปู คลำส จะเปน็ ส่วนที่ช่วยใหท้ ีมงำนพฒั นำซอฟต์แวร์ เขำ้ ใจระบบไดง้ ่ำยขน้ึ มำกกว่ำกำรใช้ข้อควำมท่เี ปน็ เป็นตัวอักษรอยำ่ ง เดยี ว ภำพท่วี ำดแทนคลำสต่ำงๆ ในขัน้ ตอนกำรออกแบบจะตอ้ งสอื่ ควำมหมำยที่เปน็ มำตรฐำนเพอ่ื ให้ทกุ คนในทีมพฒั นำซอฟตแ์ วรเ์ ข้ำใจ ได้ตรงกนั UML จะเป็นเครือ่ งมอื มำตรฐำนทส่ี ำมำรถช่วยในกำรพฒั นำ ซอฟต์แวร์เชิงวัตถุได้นนั่ เอง

• รูปภำพของ Class Diagram แบ่งเปน็ 3 สว่ นคอื 1) Class Name 2) Attribute และ 3) Method ในสว่ นของ Attribute มี เคร่อื งหมำย Access Modes ทงั้ หมด 3 แบบคือ • เคร่อื งหมำย – คือ private • เคร่อื งหมำย + คอื public • เครื่องหมำย # คอื protected • ส่วนที่ 3 ของ Class Diagram คอื Method ซ่งึ แสดง คำ่ Parameter ทีร่ ับเขำ้ สู่ Method ดว้ ย ดงั ภำพ 3.13 Constructor Fruit(in w : int, in cal : int) หมำยถงึ กำรรับ Parameter w ซง่ึ เปน็ ชนิดตัวเลขจำนวนเตม็ และParamter cal ซง่ึ เป็นตวั เลขจำนวนเตม็ เชน่ เดียวกนั แต่ไมม่ ีกำรสง่ ค่ำกลบั สำหรับ Method total_cal() : int เป็นMethod ที่ไมร่ ับ Parameter แตม่ กี ำรสง่ คำ่ กลับเป็นตัวเลข จำนวนเต็ม • แสดงภำพ Class Diagram ของ MyDate • Class Diagram และโปรแกรม MyDate ซ่งึ ประกอบดว้ ย 3

• Attributes คือ day,month และ year ซึง่ เปน็ สอง Attributes แรก เปน็ ชนดิ public ส่วนตวั แปร year เป็นชนิด private ตำมเครื่องหมำย บวกและลบ และวธิ กี ำรสร้ำงวัตถุ MyDate ใช้คำสงั่ new ดังทก่ี ลำ่ วไป แล้ว ในโปรแกรม TestMyDate.java ดังภำพที่ 3.15 มีกำรใช้คำส่ัง new MyDate() เพอื่ ใหเ้ คร่อื งคอมพวิ เตอร์จองหนว่ ยควำมจำให้กบั ตัว แปร myDate สว่ นเส้นปะจำก TestMyDate ไปที่ MyDate ใน Class Diagram แสดงควำมสัมพันธร์ ะหว่ำงคลำส TestMyDate และ คลำส MyDate แบบ Dependency หมำยถึงคลำส TestMyDate มี กำรเรียกใช้งำนวัตถขุ อง MyDate

• สำหรบั กำรเรยี นเขียนโปรแกรมเชงิ วตั ถเุ บือ้ งต้น ผู้อำ่ นสำมำรถใช้ เครอ่ื งมอื ทชี่ ื่อ BlueJ: The InteractiveJava Environment ดำวน์ โหลดได้ท่ี http://www.bluej.org เครอื่ งมอื น้ีเหมำะส ำหรับผูเ้ รียน เขยี นโปรแกรมเชงิ วตั ถเุ นื่องจำกมภี ำพแสดงวัตถุทถี่ ูกสร้ำงขึน้ ผเู้ ขยี น โปรแกรมสำมำรถทดสอบควำมถกู ต้องของวัตถทุ ถี่ ูกสร้ำงขนึ้ และ ผู้เขียนโปรแกรมยงั สำมำรถสัง่ ให้วัตถทุ ำงำนทลี ะคำส่งั เป็นลำดับ (Debugging) เพ่อื ดคู ่ำตัวแปรตำ่ งๆ ไดอ้ ีก เมอื่ นำ โปรแกรม TestMyDate.java และ MyDate.java มำสร้ำง ใน BlueJ จะได้ผลลัพธด์ ังภำพท่ี 3.16

• สำหรับกำรเขำ้ ถงึ ตวั แปรในวตั ถุ myDate ทำ ไดโ้ ดยเขยี นชอื่ วตั ถุ ตำมดว้ ยจดุ และชอื่ ตวั แปรของวตั ถนุ ัน้ เชน่ myDate.day หมำยถงึ กำร อำ้ งตวั แปร day ในวตั ถุ myDate แตม่ ขี อ้ แมว้ ำ่ ตวั แปร day ตอ้ งเป็ นชนดิ public เพอื่ ให ้ สำมำรถอำ้ งถงึ ได ้ดงั ตวั อยำ่ ง • Class Diagram: Inheritance • สำหรับ Class Diagram ทแี่ ทน กำร Inherit ระหวำ่ งคลำสแมแ่ ละคลำสลกู ใช ้ ลกู ศรสำมเหลย่ี มจำกคลำสลกู ไปคลำสแมด่ งั ภำพท่ี 3.21 ซง่ึ แสดงภำพ Class Diagram ของ คลำสแม่ Shape คลำสลกู Circle และคลำส ลกู Square • แสดงภำพกำร Inherit • ในสว่ นตอ่ ไปแสดง โปรแกรม Shape.java, Cicle.java และ Square.java ทต่ี รงกบั Class Diagram ในภำพกำร Inheri


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook