คลาสและการเขียนโปรแกรมเชิงวัตถุ
TRANSCRIPT
คลาสและการเขยนโปรแกรมเชงวตถ(class and Object-Oriented Programming: OOP)
การเขยนโปรแกรมเชงวตถ(Object-oriented programming, OOP)
การเขยนโปรแกรมเชงวตถ คอหนงในรปแบบ การเขยนโปรแกรมคอมพวเตอร ทใหความ
สำาคญกบวตถ ซงสามารถนำามาประกอบกน และนำามาทำางานรวมกนได โดยการแลกเปลยน
ขาวสารเพอนำามาประมวลผลและสงขาวสารทไดไปใหวตถอนๆทเกยวของเพอใหทำางานตอไป
การเขยนโปรแกรมแบบเชงวตถ การเขยนโปรแกรมเชงวตถม 5 ประการ ดงน
1) ทกสงทกอยางคอ object ในแงหนงเรากอาจตความวา object เปนตวแปรทมความพเศษอยในตวเอง คอ นอกจากเกบคาตาง ๆ ไดแลว เรายงสามารถทจะสง (request) ให object ทำางาน (operation) ตาง ๆ ทเกยวกบตวมนเองดวย
2) Program ประกอบไปดวย object ทตางกสงขอความ (message) บอกใหกนและกนวาตองทำาอะไร การสง message กคอการสง request หรอการเรยกใช function ของ object นน ๆ
3) Object แตละตวมหนวยความจำาทเตมไปดวย object อน ๆเราสราง object จาก object ตวอนทมอยแลว
4) Object ม รปแบบ หรอ ชนด ของตวเอง (type/class)5) Object ทตนตอมาจาก type แบบเดยวกนสามารถทจะรบขอมลซงกนและกนได
object
Object คอ สงทมคณสมบตและพฤตกรรมตามทกำาหนดไวใน คลาสแบงออกเปน 2 ประเภทดงน
1) สงทเปนรปธรรม (tangible) คอสงทเปนวตถและจบตองได อาทเชน นกศกษา ปากกา และรถ เปนตน
2) สงทเปนนามธรรม (intangible) คอสงทไมสามารถจบตอง ไดอาทเชน คะแนนรายชอวชา การลงทะเบยน การฝาก- ถอนเงน
และตารางเทยวบน เปนตน
Object ประกอบดวย
1) คณลกษณะ (attribute) หรอขอมล (data)2) เมธอด (method) หรอพฤตกรรม (behavior)3) คณลกษณะ (attribute) หรอขอมล (data) ขอมลของ Object แตละ Object อาจมขอมลทแตกตางกน
ClassClass หมายถงโครงสรางของ object โดย class เปนตวกำาหนดวา object นนจะม data หรอคณลกษณะอะไร บาง และม method อะไรบาง เปรยบเสมอนพมพเขยว (template) ของ object- object ทถกสรางมาจากคลาส (class) บางครงเรยกวาเปน instance ของคลาส
คลาสหนงคลาสสามารถสราง object ไดหลาย object- Object นนจะถกสรางขนตามกระบวนการทำางานของ JVM โดยทนกพฒนาจะตองนยาม Class ทตองการใหกบ JVM
ตวอยางclassคลาส Student อาจสรางobject s1,s2 หรอ s3 ซงเปนobjectของคลาส Student
ตวอยางclassและobjectStatic• ตวแปรและmethodเปนคยเวรดทใชประกาศหนาตวแปรและmethodความพเศษของ static คอวาโดยปกตเวลาจะสรางobjectตองทำาการ new object ขนมา ตวแปรobjectกจะอางองไปทobjectทสรางขน แลวกเอาตวแปรนไปเรยกใชตวแปร ใชmethodแตถาตวแปรหรอmethodมาเรยกใชงาน
สำาหรบตวแปรทเปน • static นน จะทำาใหตวแปรนนเปนตวแปรของคลาสไมไดเปนขอobjectใดobjectหนง ถามการเปลยนแปลงขนกบตวแปร static object อนๆทงหมดจะมองเหนการเปลยนแปลง
วธประกาศ • สำาหรบตวแปร modifier static ชนดตวแปร ชอ
ตวแปร ; • สำาหรบmethod modifier static ประเภท
ผลลพธmethod ชอ ( ) { } • วธการเรยกใชงานmethodทเปน static ถาอยในคลาส
เดยวกนก ชอ method (); แบบนไดเลย แตถาอยคนละคลาสก ใช ชอคลาส.ชอmethod static•method ทเปน static ทไดใชมาแลวกคอ method main ใน public static void main (String [] args) เพราะวา main เปนmethodสำาหรบเรมทำางาน ดงนนตองสามารถทำางานไดเลยโดยไมตองมobjectมาเรยกใชงาน
การสงobjectไปยงmethodในการเขยนโปรแกรมทมการสรางคลาสขนมาหลายๆคลาสนน ออบเจกตของคลาสหนงสามารถใชเปนอารกวเมนตเพอสงผานไปยงเมธอดของคลาสอกคลาสหนงได เชนโปรแกรม Student.Javaเปนโปรแกรมคลาสสำาหรบเกบขอมลนกเรยน ไดแก ซอและอเมลลโดยมmathodสำาหรบกำาหนดและเรยกดชอและอเมลลสำาหรบใชงาน
ตวอยางpublic class Student3 {private String name;private String email;public Student3() {name = “Unassigned”;email = “Unassigned”;}public String getEmail(){return email;}public String getName(){return name;}public void setEmail(String address){email = address;}public void setName(String studentName){name = studentName;}}
ตวอยางการประยกตการเขยนโปรแกรมเชงวตถ
เปนการออกแบบคลาสแลวนำามาเขยนโปรแกรมประยกตสำาหรบใชงานจรง โดย อธบายขนตอนสำาคญในการทำางานแตละขนตอน โดยมโปรแกรมตวอยางการเขยน
โปรแกรมสำาหรบเขารหสขอมลโดยสงขอมลผานเขาไปในเครอขายคอมพวเตอร เพอ ความปลอดภยไดนำาเทคโนโลยการเขารหสมาใช ทำาโดยการเลอนขอมล แตถาเปน
ตวอกขระตวสดทายของภาษาองกฤษการเลอนขอมลจะกลบมาเรมตนทตวแรกใหม ถาหากเปน 2-shift ขอมลจะแทนไดดงน
A แทนดวย CB แทนดวย DY แทนดวย AZ แทนดวย B
“ถาขอมลตนฉบบเปน DIZZY” แลวเขารหสแบบ 2- shift ขอมลทเขารหสแลวจะ “เปน FKBBA”
อางองสถานสอนเขยนโปรแกรมอจฉรยะ.การเขยนโปรแกรมเชงวตถ.(ออนไลน).
แหลงทมา : http://blogwitt.tumblr.com/post /93188547255/101 static. ณรงคเดช บญพมพวงและคณะ.การเขยน program เชงวตถ.(ออนไลน).
แหลงทมา : https://phuengkun1.wordpress.com คลาสและออบเจกต .
ทมงานวกพเดย.(ออนไลน). แหลงทมา : https://th.wikipedia.org/wiki/ ความหมายของโอโอพ . โปรแกรมเมอรฝกหด(2553).Constructors(ออนไลน).แหลงทมา:http://pro7beginner.blogspot.com/2010/11/p16constructorandmethod.html
เสนอ คณครทรงศกด โพธเอยม
ผจดทำา1.นางสาวนำาเพชร ปราสาทศร เลขท102.นางสาวภทราวด ชยเฉลยว เลขท143.นางสาวธารารตน ชมบญช เลขท264.นางสาวมนตตรา สองส เลขท275.นางสาวอรสา ปานสวรรณ เลขท34
ชนมธยมศกษาปท 6/2