/* scrip for google analytic */

Ads 468x60px

วันจันทร์ที่ 19 มกราคม พ.ศ. 2558

JAVA : Object Oriented Programming (OOP) (ตอนที่ 1)

เข้าไปที่ Google+ ชุมชนบทความไอที แวะเข้ามาชมกันได้ครับ
หรือเข้าไปที่ facebook ชุมชนบทความไอที แวะเข้ามาชมกันได้ครับ



        สวัสดีครับ ผมมือใหม่หัดเขียน บทความนี้ก็เป็นบทความแรกที่ผมเขียนขึ้นมาในสังคม Blogger นะครับ ก็เป็นเรื่องที่ผมสนใจและถนัด นำมาเขียนเล่าสู่กันฟังนะครับ
       ผมเชื่อว่าบทความเรื่องนี้คงจะเกลื่อนไปทั่วไซเบอร์อินเตอร์เน็ต โซเชียลเน็ตเวิร์คอยู่แล้วล่ะ แต่ก็คงมีคนหน้าใหม่ คนเพิ่งเริ่มเข้าวงการอ่านเพื่อเพิ่มพูนความรู้ และคนหน้าเก่า ผู้แก่วิชาวนเวียนอ่านเพื่อทบทวนความรู้ที่หลงลืมกันไป สำหรับนักวิจัยแล้วก็ถือว่าเป็นการรวบรวมข้อมูลเพื่ออ้างอิงจากหลายๆที่ ผิดพลาดประการใดขออภัยและแนะนำกันได้นะครับ
       เอาเป็นว่าเข้าเรื่องกันเลยดีกว่า ก็ตามหัวข้อครับ ........JAVA........ (กาแฟถ้วยเก่า) จากหัวข้อที่ตั้งขึ้น ผู้เขียนตั้งประเด็นไปที่การเขียนโปรแกรมที่จำเป็นต้องรู้พื้นฐานก่อน เพื่อที่จะเป็นนักพัฒนาโปรแกรมนะครับ
  เรื่องพื้นฐานที่ผู้เขียนจะเขียนนั้นก็ได้แก่ Object Oriented Programming (OOP) , Class ,Object , Constructor , Method , Polymorphism , Inheritance , Interface , Exception , Thread, Stream IO และอื่นๆไว้จะเพิ่มเติมทีหลัง และจะแบ่งเป็นตอนๆ เอาไว้ให้อ่านกันได้ง่ายๆนะครับ 


        แต่ละเรื่องที่กล่าวมานั้น ล้วนแล้วเป็นพื้นฐานที่จำเป็นต้องรู้เพื่อที่จะสามารถ สร้าง หรืออ่านโปรแกรมที่นักเขียนหรือนักพัฒนาโปรแกรมคนอื่นๆที่เขาเขียนขึ้นมานั้น เขาเขียนเพื่อทำอะไร สร้างอะไรออกมา เพราะส่วนใหญ่ในหนังสือหลายๆเล่ม จะบอกไม่ค่อยละเอียดแต่ละบรรทัดว่าโค๊ดๆในบรรทัดนั้นเนี่ยคืออะไร มันคือ object หรอ??? หรือ มันคือ method กันน่ะ??? เพราะสิ่งพวกนี้มือใหม่อาจจะยังไม่ชำนาญ แล้วก็ปล่อยให้ผู้อ่านหนังสือเล่มนั้นเนี่ย เขียนตามพิมพ์ตามโค๊ดที่ให้มา แบบไม่รู้ที่มาที่ไป แล้วพอเกิดปัญหา ทั้งๆที่พิมพ์ตามโค๊ดในหนังสือเหมือนแบบ Copy&paste เป้ะๆ แล้วก็แก้ไขปัญหานั้นไม่ได้ เพราะไม่รู้ว่าปัญหาที่แท้จริงนั้นเกิดจากอะไร ก็จะได้สกิลแบบ ลอกโค๊ด กันเพียงอย่างเดียว



ร่วมสนับสนุนนักเขียนด้วยการคลิ๊กลิ้ง ด้านล่าง ขอบคุณครับ รับรองไม่มีไวรัส






        เรามาเริ่มกันเลยดีกว่าครับ เรื่องแรกที่ต้องเรียนรู้ก่อนก็คือ  Object Oriented Programming (OOP) จะขอเกริ่นก่อนว่า ถ้าในสมัยก่อน เริ่มจากการเขียนโปรแกรม ภาษา C (ภาษานี้เป็นภาษาที่เป็นรากฐานเลยทีเดียว) เป็นแม่แบบของหลายๆภาษาเลยก็ว่า ได้  JAVA ก็เช่นกัน มีรากฐานมาจากภาษา C ก็คือในสมัยก่อนจะมีการเขียนโปรแกรมแบบ บนลงล่าง (Procedure Programming) การเขียนโปรแกรมแบบนี้เป็นการเขียนแบบตาม อัลกอริทึม หรือตาม flow chart ซะมากกว่า ก็คือ ต้องทำงานตาม step ขั้นตอนการทำงาน เช่น วิธีทำอาหาร วิธีการสร้างโต๊ะเก้าอี้ ซึ่งจะต้องมีขั้นตอนในการสร้างหรือแก้ปัญหา เป็นลำดับขั้นตอน จนแล้วเสร็จ หนึ่ง สอง สาม วิธีนี้จึงไม่สามารถที่พัฒนาโปรแกรมที่มีโครงสร้างขนาดใหญ่ได้ หรือทำได้แต่ค่อนข้างลำบาก ซับซ้อน 



        นักพัฒนาจึงปรับเปลี่ยนวิธีการ การเขียนขึ้นด้วยวิธี OOP นั่นเอง เป็นวิธีพัฒนาแบบ ล่างขึ้นบน เป็นวิธีแก้ปัญหาแบบ มองวัตถุ(Object)เป็นหลัก โดยจะอธิบาย โดย คลาส(Class) จะอธิบายในตอนที่ 2 นะครับ เรื่องคลาส ขออธิบายคร่าวๆก่อน class จะเป็นตัวอธิบายรายละเอียด ให้กับ object ว่า object นี้มีคุณสมบัติอะไร องค์ประกอบ ข้อมูล และการกระทำ อะไรได้บ้างนั่นเองดังภาพด้านล่าง หรือยกตัวอย่างเช่น มองง่ายๆกับซอร์ฟแวร์คอมพิวเตอร์ทั่วไป จะต้องมีรูปภาพ มีปุ่มกดให้เราคลิ๊ก สิ่งนี้นั่นแหละที่เราเรียกว่า object เราจะให้มันทำอะไรได้ แก้ไขปัญหาอะไรได้ ก็ขึ้นอยู่กับวิธีเขียนโปรแกรมของเรานั่นเอง เดี๋ยวผมจะอธิบาย ในหัวข้อถัดไป ในเรื่องของ class น่าจะมองเห็นภาพกันมากขึ้น และมีตัวอย่างมาให้ชมกันด้วย 


 

ร่วมสนับสนุนนักเขียนด้วยการคลิ๊กลิ้ง ด้านล่าง ขอบคุณครับ รับรองไม่มีไวรัส



        สรุปก็คือ OOP คือ การเขียนโปรแกรม ให้แยกส่วนออกเป็น ส่วนๆ ส่วนย่อยๆ หรือเรียกว่าโมดูล Module  โดยมีหน้าที่การทำงานเพียงอย่างเดียว หรือการแบ่งโปรแกรม แอพพลิเคชันออกเป็นออบเจกต์ย่อยๆ แต่ละออบเจกต์ทำหน้าที่หลักเพียงอย่างเดียวเท่านั้นและเมื่อสร้างขึ้นมาหลายๆโมดูล หลายๆ Object จากนั้นก็เอาโมดูลเหล่านั้นมารวมกัน จนเป็นซอร์ฟแวร์ แอพพลิเคชั่นที่สมบูรณ์ 
เขียนขึ้น เมื่อ 19 มกราคม 2558  
แก้ไขล่าสุด เมื่อ 20 มกราคม 2558
--------------------------------------------
รับเขียนบทความ IT, ระบบเครือข่ายคอมพิวเตอร์ ,ระบบไฟฟ้า ,

ระบบออกอากาศโทรทัศน์
Songkiat Lowmunkhong
skl_songkiat@hotmail.com
--------------------------------------------
Programming  ,JAVA ,python ,php ,html ,ccs
android ,mobile ,Automation ,Rasberry PI
Network, pentest hacking, security
 
 
Blogger Templates