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

14
คคคคคคคคคคคคคคค คคคคคคคคคคคคคคคค (class and Object-Oriented Programming: OOP)

Upload: boom-mm

Post on 14-Apr-2017

19 views

Category:

Technology


3 download

TRANSCRIPT

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

คลาสและการเขยนโปรแกรมเชงวตถ(class and Object-Oriented Programming: OOP)

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

การเขยนโปรแกรมเชงวตถ(Object-oriented programming, OOP)

 การเขยนโปรแกรมเชงวตถ คอหนงในรปแบบ การเขยนโปรแกรมคอมพวเตอร ทใหความ

สำาคญกบวตถ ซงสามารถนำามาประกอบกน และนำามาทำางานรวมกนได โดยการแลกเปลยน

ขาวสารเพอนำามาประมวลผลและสงขาวสารทไดไปใหวตถอนๆทเกยวของเพอใหทำางานตอไป

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

การเขยนโปรแกรมแบบเชงวตถ การเขยนโปรแกรมเชงวตถม 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 แบบเดยวกนสามารถทจะรบขอมลซงกนและกนได

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

object

Object คอ สงทมคณสมบตและพฤตกรรมตามทกำาหนดไวใน คลาสแบงออกเปน 2 ประเภทดงน

1) สงทเปนรปธรรม (tangible) คอสงทเปนวตถและจบตองได อาทเชน นกศกษา ปากกา และรถ เปนตน

2) สงทเปนนามธรรม (intangible) คอสงทไมสามารถจบตอง ไดอาทเชน คะแนนรายชอวชา การลงทะเบยน การฝาก- ถอนเงน

และตารางเทยวบน เปนตน

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

Object ประกอบดวย

1) คณลกษณะ (attribute) หรอขอมล (data)2) เมธอด (method) หรอพฤตกรรม (behavior)3) คณลกษณะ (attribute) หรอขอมล (data) ขอมลของ Object แตละ Object อาจมขอมลทแตกตางกน

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

ClassClass หมายถงโครงสรางของ object โดย class เปนตวกำาหนดวา object นนจะม data หรอคณลกษณะอะไร บาง และม method อะไรบาง เปรยบเสมอนพมพเขยว (template) ของ object- object ทถกสรางมาจากคลาส (class) บางครงเรยกวาเปน instance ของคลาส

คลาสหนงคลาสสามารถสราง object ไดหลาย object- Object นนจะถกสรางขนตามกระบวนการทำางานของ JVM โดยทนกพฒนาจะตองนยาม Class ทตองการใหกบ JVM

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

ตวอยางclassคลาส Student อาจสรางobject s1,s2 หรอ s3 ซงเปนobjectของคลาส Student

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

ตวอยางclassและobjectStatic• ตวแปรและmethodเปนคยเวรดทใชประกาศหนาตวแปรและmethodความพเศษของ static คอวาโดยปกตเวลาจะสรางobjectตองทำาการ new object ขนมา ตวแปรobjectกจะอางองไปทobjectทสรางขน แลวกเอาตวแปรนไปเรยกใชตวแปร ใชmethodแตถาตวแปรหรอmethodมาเรยกใชงาน

สำาหรบตวแปรทเปน • static นน จะทำาใหตวแปรนนเปนตวแปรของคลาสไมไดเปนขอobjectใดobjectหนง ถามการเปลยนแปลงขนกบตวแปร static object อนๆทงหมดจะมองเหนการเปลยนแปลง

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

วธประกาศ • สำาหรบตวแปร modifier static ชนดตวแปร ชอ

ตวแปร ; • สำาหรบmethod modifier static ประเภท

ผลลพธmethod ชอ ( ) { } • วธการเรยกใชงานmethodทเปน static ถาอยในคลาส

เดยวกนก ชอ method (); แบบนไดเลย แตถาอยคนละคลาสก ใช ชอคลาส.ชอmethod static•method ทเปน static ทไดใชมาแลวกคอ method main ใน public static void main (String [] args) เพราะวา main เปนmethodสำาหรบเรมทำางาน ดงนนตองสามารถทำางานไดเลยโดยไมตองมobjectมาเรยกใชงาน

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

การสงobjectไปยงmethodในการเขยนโปรแกรมทมการสรางคลาสขนมาหลายๆคลาสนน ออบเจกตของคลาสหนงสามารถใชเปนอารกวเมนตเพอสงผานไปยงเมธอดของคลาสอกคลาสหนงได เชนโปรแกรม Student.Javaเปนโปรแกรมคลาสสำาหรบเกบขอมลนกเรยน ไดแก ซอและอเมลลโดยมmathodสำาหรบกำาหนดและเรยกดชอและอเมลลสำาหรบใชงาน

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

ตวอยาง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;}}

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

ตวอยางการประยกตการเขยนโปรแกรมเชงวตถ

เปนการออกแบบคลาสแลวนำามาเขยนโปรแกรมประยกตสำาหรบใชงานจรง โดย อธบายขนตอนสำาคญในการทำางานแตละขนตอน โดยมโปรแกรมตวอยางการเขยน

โปรแกรมสำาหรบเขารหสขอมลโดยสงขอมลผานเขาไปในเครอขายคอมพวเตอร เพอ ความปลอดภยไดนำาเทคโนโลยการเขารหสมาใช ทำาโดยการเลอนขอมล แตถาเปน

ตวอกขระตวสดทายของภาษาองกฤษการเลอนขอมลจะกลบมาเรมตนทตวแรกใหม ถาหากเปน 2-shift ขอมลจะแทนไดดงน

A แทนดวย CB แทนดวย DY แทนดวย AZ แทนดวย B

“ถาขอมลตนฉบบเปน DIZZY” แลวเขารหสแบบ 2- shift ขอมลทเขารหสแลวจะ “เปน FKBBA”

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

อางองสถานสอนเขยนโปรแกรมอจฉรยะ.การเขยนโปรแกรมเชงวตถ.(ออนไลน).

แหลงทมา : 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

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

เสนอ คณครทรงศกด โพธเอยม

ผจดทำา1.นางสาวนำาเพชร ปราสาทศร เลขท102.นางสาวภทราวด ชยเฉลยว เลขท143.นางสาวธารารตน ชมบญช เลขท264.นางสาวมนตตรา สองส เลขท275.นางสาวอรสา ปานสวรรณ เลขท34

ชนมธยมศกษาปท 6/2