วันอาทิตย์ที่ 26 มกราคม พ.ศ. 2557

มาทำความรู้จักกับ java

 
    ก่อนที่เราจะเขียนโปรแกรมเราจะมาทำความรู้จักกับ java ซักนิดนะครับ java เป็นภาษาถูกพัฒนาโดยบริษัท Sun Microsystems ก่อนที่จะมาเป็นภาษา java นั้นเดิมทีเป็นภาษาที่ชื่อว่า ภาษา Oak ซึ่งทีมงานของบริษัทได้ทำขึ้นมาเพื่อควบคุมอุปกรณ์ไฟฟ้าขนาดเล็กและได้พัฒนา ต่อมาเรื่อยๆ จนเปลี่ยนชื่อมาเป็น java ภาษา java ,มีจุดเด่นอีกอย่างหนึ่ง คือ เราสามารถเขียนโปรแกรมในครั้งเดียวแต่นำไปใช้งานกับคอมพิวเตอร์ได้ทุก platform ทำให้ง่ายต่อการใช้งาน ภาษา java ภาษาหนึ่งที่มีการทำงานในลักษณะของ OOP (Objet-Oriented Programming) หรือ เรียกเป็นภาษาไทยว่า “การเขียนโปรแกรมเชิงวัตถุ” โดยจะเป็นวิธีการพัฒนาการจัดระเบียบการเขียนโปรแกรมอีกรูปแบบหนึ่ง ที่มีองค์ประกอบต่างๆ ให้เป็นวัตถุ (Object) โดยวัตถุก็จะมีวิธีการ (Method) ซึ่ง Object ใดๆ จะดำเนินการได้จะต้องมีสิ่งที่เรียกว่าต้นแบบ (Class) กำหนดเอาไว้ด้วย เอาล่ะครับมีคำศัพท์เข้ามาแล้ว คำศัพท์ 3 คำเหล่านี้เราจะใช้ในโอกาสต่อไปแน่นอนครับเราจะมาทำความรู้จักกับคำศัพท์ 3 คำนี้กันเลยครับ
Object
Opject หรือ วัตถุ หมายถึง สิ่งที่มีตัวตนและนำไปใช้ในการประมวลผลข้อมูล โดยใน Object จะต้องมีข้อมูลที่ใช้ในการอธิบายตนเองและการกระทำต่างๆ (Ation)
ที่ Object สามารถกระทำได้ใน java นั้น Object จะถูกสร้างขึ้นมาเพื่อเลียนแบบการกระทำที่อยู่ใน Class ต้นแบบ
Class
Class หมายถึง ตัวแบบ (Template) ที่นำไปใช้ในการสร้าง Object โดย Class จะประกอบไปด้วยลักษณะเฉพาะของ Data พร้อมทั้งรายละเอียดของ Action และ Method ซึ่งสามารถนำไปใช้งานได้โดยการสร้าง Object ขึ้นมาเพื่อดึงความสามารถที่อยู่ใน Class ไปใช้งาน
Method
Method หมายถึง ระเบียบวิธีในการทำงานของงานใดงานหนึ่ง ซึ่งจะถูกกำหนดไว้ใน Class จะเป็นการกระทำต่างๆ มี่จะให้ Object ดำเนินการ
เอาล่ะครับ สำหรับผู้เริ่มต้นอย่าเพิ่งทำหน้างงนะครับว่าผมกำลังพูดเรื่องอะไรอยู่ ที่ผมกล่าวมาข้างต้นนั้นเป็นสิ่งที่้ท่านจะต้องทำความเข้าใจกับมันให้ได้ เพราะเป็นภาพรวมของการเขียนโปรแกรม java ซึ่งภาษานี้จะมีวิธีการเขียนไม่เหมือนภาษาคอมพิวเตอร์รุ่นเก่าๆ เราต้องมา "คิดใหม่ ทำใหม่" กันครับ (สโลแกนคุ้นๆ) ผมจะยกตัวอย่างที่เห็นได้ชัดในชีวิตประจำวันของเราเพื่ออธิบายคำศัพท์ 3 คำข้างต้นให้เข้าใจมากยิ่งขึ้นนะครับ เอาเป็นว่าถ้าเราจะทอดไข่เจียวซัก 1 ฟอง ทานกับข้าวสวยร้อนๆ เราจะมีวิธีการอย่างไร (หิวเลย)
  1. ตอกไข่ใส่ถ้วย
2. ใส่น้ำปลาเล็กน้อย
3. ตีไข่
4. เปิดเตาแก๊ส
5. ตั้งกระทะ
6. ใส่น้ำมัน
7. ทอดไข่
8. นำใส่จานเสริฟพร้อมข้าวสวยร้อนๆ
8 ขั้นตอนข้างต้นเป็นการกระทำที่เกิดขึ้นในการทอดไข่เจียว ผมจะเรียกการกระทำเหล่านี้ว่า Method สิ่งต่อไปเรามาดูว่าใครเป็นคนกระทำ 8 ขั้นตอนเหล่านี้ ซึ่งก็ คือ ตัวเรานั้นเอง ผมให้ตัวคนทอดเป็น Object และสุดท้ายภาพรวมของการทอดไข่เจียวนั้นผมให้เป็น Class เราจะตั้งชื่อว่า "คลาสการทอดไข่เจียว" ดูแผนภาพต่อไปนี้ครับ  
 
จะเห็นว่าภายใน Class จะมี Method(วิธีการทอดไข่) ต่างๆ อยู่เพื่อเป็นต้นแบบให้กับ Object ซึ่งก็คือ ตัวคุณ โดย Method แต่ละตัวนั้นจะเป็นอิสระต่อกัน คุณลองนึกดูว่าแต่ละคนมีวิธีการทอดไข่ไม่เหมือนกัน ซึ่งจะทำขั้นตอนใดก่อนก็ได้ให้เหมาะสม บางคนอาจจะตีไข่เสร็จแล้วค่อยใส่น้ำปลา บางคนบอกตั้งกระทะก่อนค่อยตีไข่ก็ได้ แต่สุดท้ายก็ได้ผลลัพธ์เดียวกันคือ "ไข่เจียว"
บางคนเริ่มรู้สึกว่าผมมาสอนทำไข่ เจียวเหรอ มันเกี่ยวอะไรกับการเขียนโปรแกรมด้วย ที่ผมยกตัวอย่างไข่เจียวเพื่อให้คุณมองเห็นภาพครับ เพราะการเขียนโปรแกรมแบบ OOP มีข้อดีก็ตรงนี้แหละครับ คุณลองนึกดูว่าถ้าวันนึงมีคนมาบอกคุณว่าเขามีวิธีการทอดไข่เจียวที่เด็ดกว่า อร่อยกว่า แต่เขามีวิธีการทอดคล้ายๆ กับของเรานั่นแหละ เขาสามารถใช้ Class "การทอดไข่เจียว" ของเราไปดัดแปลงได้เลยครับ เขาอาจจะเพิ่ม Method บางส่วนลงไปใหม่ หรือแก้ไขบาง Method นิดหน่อยก็สามารถทำให้ไข่เจียวของเราอร่อยกว่าเดิมได้แล้ว โดยที่เขาไม่ต้องมานั่งไล่วิธีทำใหม่ตั้งแต่ต้น เช่นเดียวกับการเขียนโปรแกรมถ้าเป็นโปรแกรมที่มีขนาดใหญ่แล้วโปรแกรมนี้ถูก เขียนแบบ OOP เรา็สามารถแก้ไขโปรแกรมหรือพัฒนาโปรแกรมในภายหลังต่อได้โดยง่าย เพราะโปรแกรมถูกจัดให้เป็นสัดส่วนไว้แล้ว
ปัจจุบันเราสามารถแบ่งโปรแกรมจาวาออกได้หลายชนิด ได้แก่
1. Java 2 Enterprise Edition (J2EE) ใช้พัฒนาแอพพลิเคชั่นบนเครื่องเซิร์ฟเวอร์
2. Java 2 Standard Edition (J2SE) ใช้พัฒนาแอพพลิเคชั่นบนเครื่อง PC ทั่วไป
3. Java 2 Micro Edition (J2ME) ใช้พัฒนาแอพพลิเคชั่นบนอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็ก (เช่น โทรศัพท์มือถือ)
แต่ที่นิยมนำมาศึกษาในขั้นต้นก็คือ Java 2 Standard Edition (J2SE) ซึ่งเป็นการนำ Java มาเขียนเป็นโปรแกรมที่สามารถนำมาใช้งานได้อย่างอิสระ (StandAlone Program) เหมือนกับการเขียนโปรแกรมภาษาระดับสูงอื่นๆ เช่น C++ ,Pascal ,Cobol
การแปลโปรแกรมของ Java
ในการโปรแกรมภาษา Java หลังจากที่เราเขียน source code ขึ้นมาแล้วจะทำการรันโปรแกรมเพื่อดูผล Java จะมีวิธีการทำงานดังนี้ 





จากรูปเมื่อเราเขียน code ของโปรแกรมขึ้นมาแล้ว Java จะทำการ compile จาก Source Code นั้นมาเป็น Bytecodes (ไบต์โค้ด) ก่อน และสามรถนำไบต์โค้ดนั้นไปแปลเพื่อใช้งานบนเครื่องคอมพิวเตอร์ที่มีตัวแปลภาษาของ Java เรียกว่า Java Interpreter ก็จะได้ผลของการกระทำที่เราได้เขียนไว้
เอาล่ะครับมาถึงจุดนี้แล้ว คงจะพอมองเห็นภาพรวมของการเขียนโปรแกรมแบบ OOP ออกกันบ้างนะครับ ใครที่ยังงงอยู่ก็ไม่ต้องตกใจครับ ให้ท่านติดตามบทความไปเรื่อยๆ แล้วท่านจะเข้าใจไปเองโดยอัตโนมัติเมื่อไ้ด้ลองลงมือทำดู ในปัจจุบันการเขียนโปรแกรมแบบ OOP ได้มีใช้เกือบทุกภาษาแล้วครับแม้แต่ภาษา C เองก็ยังเปลี่ยนมาให้เขียนแบบ OOP เลยครับ เห็นไหมครับว่าเราต้องเรียนรู้มันอย่างเลี่ยงไม่ได้ซะแล้ว สำหรับบทความบทแรกนี้ก็คงเป็นการพูดคุยทำความรู้จักกับคนเขียนเองและความหมายของการเขียนโปรแกรมแบบ OOP กัน ใครมีข้อสงสัยใดก็โพสทิ้งไว้ที่เวบบอร์ดของเราได้เลยนะครับ ผมจะตามไปตอบให้ หรือถ้าใครมีความคิดเห็น แนะนำหรือติชม ผมก็ยินดีน้อมรับไว้ครับ ถ้าในบทความมีข้อผิดพลาดประการใด ผมก็อภัยไว้ด้วยนะครับ สำหรับบทความแรกคงจบลงเพียงเท่านี้ ติดตามตอนต่อไปได้เลยครับ ...   

ไม่มีความคิดเห็น:

แสดงความคิดเห็น