คลาสและการเขียนโปรแกรมเชิงวัตถุ

Post on 14-Apr-2017

19 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

top related