ݺߣ
Submit Search
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น2
•
0 likes
•
1,054 views
Iam Champooh
Follow
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น2
Read less
Read more
1 of 29
Download now
Downloaded 10 times
More Related Content
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น2
2.
ความหมายของโอโอพี
3.
การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object- oriented
programming, OOP) คือหนึ่งใน รูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสาคัญกับ วัตถุ ซึ่ง สามารถนามาประกอบกันและนามาทางานรวมกันได้ โดยการ แลกเปลี่ยนข่าวสารเพื่อนามาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทางานต่อไป
4.
คลาสและออบจ็กต์
5.
• การเขียน program
แบบ 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 แบบเดียวกันสามารถที่จะรับข้อมูลซึ่งกันและกันได้
6.
1. OBJECT • –
Object คือ สิ่งที่มีคุณสมบัติและพฤติกรรมตามที่กาหนดไว้ในคลาส • – ออบเจ็กต์(object) แบ่งได้เป็นสองประเภท คือ 1) สิ่งที่เป็นรูปธรรม (tangible) คือสิ่งที่เป็นวัตถุและจับต้องได้อาทิ เช่น นักศึกษา ปากกา และรถ เป็นต้น 2) สิ่งที่เป็นนามธรรม (intangible) คือสิ่งที่ไม่สามารถจับต้องได้อาทิ เช่น คะแนนรายชื่อวิชา การลงทะเบียน การฝาก-ถอนเงิน และตารางเที่ยวบิน เป็น ต้น
7.
• 1) คุณลักษณะ
(attribute) หรือข้อมูล (data) 2) เมธอด (method) หรือพฤติกรรม (behavior) 3) คุณลักษณะ (attribute) หรือข้อมูล (data) ข้อมูลของ Object แต่ละ Object อาจมีข้อมูลที่แตกต่างกัน 4) เมธอด (method) หรือพฤติกรรม (behavior) สิ่งที่ Object สามารถกระทาได้ • ตัวอย่าง ออบเจ็กต์ คือ – นักศึกษา ประกอบไปด้วยคุณลักษณะเช่น รหัส ชื่อ และเกรดเฉลี่ย มีเมธอดเช่น ลงทะเบียน การสอบ และการเรียน – รถยนต์ ประกอบไปด้วยคุณลักษณะเช่น ยี่ห้อ รุ่น และสี มีเมธอดเช่น เคลื่อนที่ หยุดและเลี้ยว – สุนัข ประกอบไปด้วยคุณลักษณะเช่น ชื่อ พันธุ์ และสี มีเมธอดเช่น เห่า คลาน และกระดิกหาง
8.
2. CLASS – Class
หมายถึงโครงสร้างของ object โดย class เป็นตัวกาหนดว่า object นั้น จะมี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของออปเจ็ค – ออปเจ็คที่ถูกสร้างมาจากคลาส (class) บางครั้งเรียกว่าเป็น instance ของคลาส คลาสหนึ่งคลาสสามารถสร้างออปเจ็คได้หลายออปเจ็ค – Object นั้นจะถูกสร้างขึ้นตามกระบวนการทางานของ JVM โดยที่นักพัฒนาจะต้อง นิยาม Class ที่ต้องการให้กับ JVM ตัวอย่าง คลาส เช่น คลาส Student อาจสร้างออปเจ็ค s1,s2 หรือ s3 ซึ่งเป็นออปเจ็คของคลาส Student
9.
ตัวอย่าง คลาส และ
ออบเจ็กต์
10.
STATIC
11.
STATIC • ตัวแปรและเมท็อดที่เป็น static •
คีย์เวิร์ด static เป็นคีย์เวิร์ดที่ใช้ประกาศหน้าตัวแปรและเมท็อด ความพิเศษ ของ static คือว่าโดยปกติเวลาจะสร้างอ็อปเจ็คต้องทาการ new อ็อปเจ็ค ขึ้นมา ตัวแปรอ็อปเจ็คก็จะอ้างอิงไปที่อ็อปเจ็คที่สร้างขึ้น แล้วก็เอาตัวแปรนี้ไป เรียกใช้ตัวแปร ใช้เมท็อด แต่ถ้าตัวแปรหรือเมท็อดนั้นเป็น static ก็จะทาให้ สามารถใช้ตัวแปรหรือเมท็อดนั้นได้เลยโดยไม่ต้องสร้างอ็อปเจ็คมาเรียกใช้งาน • สาหรับตัวแปรที่เป็น static นั้น จะทาให้ตัวแปรนั้นเป็นตัวแปรของคลาส ไม่ได้เป็นของอ็อปเจ็คใดอ็อปเจ็คหนึ่ง ถ้ามีการเปลี่ยนแปลงขึ้นกับตัวแปร static อ็อปเจ็คอื่นๆทั้งหมดจะมองเห็นการเปลี่ยนแปลง
12.
วิธีประกาศ • สาหรับตัวแปร modifier
static ชนิดตัวแปร ชื่อตัวแปร ; • สาหรับเมท็อด modifier static ประเภทผลลัพธ์ ชื่อเมท็อด( ) { } • วิธีการเรียกใช้งานเมท็อดที่เป็น static ถ้าอยู่ในคลาสเดียวกันก็ ชื่อ เมท็ อด(); แบบนี้ได้เลย แต่ถ้าอยู่คนละคลาสก็ ใช่ ชื่อคลาส.ชื่อเมท็อด static • เมท็อดที่เป็น static ที่ได้ใช้มาแล้วก็คือ เมท็อด main ใน public static void main(String [] args) เพราะว่า main เป็น เมท็อดสาหรับเริ่มทางาน ดังนั้นต้องสามารถทางานได้เลยโดยไม่ต้องมีอ็อปเจ็ค มาเรียกใช้งาน
13.
เมท็อดชื่อ F ในบรรทัดที่
17 ประกาศเป็น เมท็อด STATIC ดังนั้นในบรรทัดที่ 12 สามารถเรียกใช้เมท็อด F ได้เลย แต่บรรทัดที่ 13 มีการเรียกใช้เมท็อด PRINTLN ซึ่งอยู่ในคลาส SYSTEM ก็ต้องใช้งานแบบ ชื่อคลาส.เมท็อด
14.
สังเกตว่าเมื่อเอาคาว่า STATIC ออกในบรรทัดที่ 17
จะเกิด ERROR ขึ้นทันทีที่บรรทัดที่ 12 ที่เรียกเมท็อด
15.
ตัวแปร เมท็อดและคลาสที่เป็น FINAL •
คล้ายกับ static คีย์เวิร์ด final ใช้ประกาศหน้าตัวแปร เมท็อดและยัง ประกาศหน้าคลาสได้ด้วย - ถ้า final ไปประกาศหน้าตัวแปร ตัวแปรนั้นจะมีค่านั้นตลอดเปลี่ยนแปลง ไม่ได้เรียกว่าเป็นค่าคงที่ - ถ้าอยู่หน้าเมท็อดแล้วคลาสนี้ถูกสืบคุณสมบัติไป เมท็อดนี้จะไม่สามารถ เขียนทับแก้ไขได้หรือก็คือไม่สามารถ Overriding ได้ - แต่ถ้าอยู่คลาส คลาสนั้นๆจะไม่สามารถเป็นคลาสแม่ได้เลย คือบางทีไม่ ต้องการให้คนเอาอะไรเปลี่ยนทั้งนั้นก็ประกาศคลาสเป็น final เพราะบางที ประกาศเมท็อดเป็น final คลาสลูกก็เขียนเมท็อดใหม่ขึ้นมาได้เช่น เราไม่ ต้องการเขาเปลี่ยนชื่อ เขาก็เขียนเมท็อดสาหรับเปลี่ยนชื่อใหม่ได้
16.
วิธีประกาศ • สาหรับตัวแปร final
ชนิดตัวแปร ชื่อตัวแปร = ค่าคงที่ ; • สาหรับเมท็อด modifier final ประเภทผลลัพธ์ ชื่อเมท็อด( ) { } • สาหรับคลาส modifier final class ชื่อคลาส{ }
17.
CONSTRUCTORS
18.
CONSTRUCTORS Constructors เป็นฟังก์ชันในคลาสที่จะถูกเรียกอัตโนมัติเมื่อเราสร้างอ็อบเจ็คให้กับ คลาสนั้น ๆ
ด้วยคาสั่ง new ซึ่งมันจะเป็นฟังก์ชัน Constructors ได้ก็ต่อเมื่อชื่อ ของมันเหมือนชื่อคลาส ถ้าภายในคลาสไม่มี constructor ดังนั้นมันจะทาการเรียก constructure ของ base class (ถ้ามันมี) เช่น <?php class Auto_Cart extends Cart { function Auto_Cart() { $this->add_item("10", 1); } } ?>
19.
• Constructors function
นั้นสามารถรับค่าพารามิเตอร์ได้เช่นกัน ดังนี้ <?php class Constructor_Cart extends Cart { function Constructor_Cart($item = "10", $num = 1) { $this->add_item($item, $num); } }
20.
การส่งออบเจ็กต์ไปยังเมท็อด • ในการเขียนโปรแกรมที่มีการสร้างคลาสขึ้นมาหลายๆคลาสนั้น ออบเจ็กต์ของคลาสหนึ่งสามารถใช้เป็นอาร์กิวเมนต์เพื่อส่งผ่านไปยังเมธ อดของคลาสอีกคลาสหนึ่งได้ • เช่นโปรแกรม
Student.Java เป็นโปรแกรมคลาสสาหรับเก็บ ข้อมูลนักเรียน ได้แก่ ซื่อและอีเมลล์โดยมีเมท็อดสาหรับกาหนดและ เรียกดูชื่อและอีเมลล์สาหรับใช้งาน
21.
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; } }
22.
ตัวอย่างการประยุกต์การขียนโปรแกรมเชิงวัตถุ • เป็นการออกแบบคลาสแล้วนามาเขียนโปรแกรมประยุกต์ สาหรับใช้งานจริง โดยอธิบายขั้นตอนสาคัญในการทางานแต่ละขั้นตอน โดยมีโปรแกรมตัวอย่างการเขียนโปรแกรมสาหรับเข้ารหัสข้อมูลโดยส่ง ข้อมูลผ่านเข้าไปในเครือข่ายคอมพิวเตอร์
เพื่อความปลอดภัยได้นา เทคโนโลยีการเข้ารหัสมาใช้ ทาโดยการเลื่อนข้อมูล แต่ถ้าเป็นตัวอักขระ ตัวสุดท้ายของภาษาอังกฤษการเลื่อนข้อมูลจะกลับมาเริ่มต้นที่ตัวแรกใหม่
23.
ถ้าหากเป็น 2-shift ข้อมูลจะแทนได้ดังนี้ A
แทนด้วย C B แทนด้วย D Y แทนด้วย A Z แทนด้วย B ถ้าข้อมูลต้นฉบับเป็น “DIZZY” แล้วเข้ารหัสแบบ 2- shift ข้อมูลที่เข้ารหัสแล้วจะเป็น “FKBBA”
24.
ตัวอย่างการประยุกต์การขียนโปรแกรมเชิงวัตถุ
25.
อธิบายการทางานของโปรแกรม 1.หากพิมพ์คาว่า Teerawut ลงไป
จะทาให้ตัวแปร message ชี้ไปยัง ออบเจ็กต์สตริง “Teerawut” 2.ต่อมาถ้าหากกดคีย์ตัวเลข 5 ลงไป จะทาให้ตัวแปร shift มีค่าเป็น 5 3.เมื่อโปรแกรมเรียกใช้เมท็อด encrypt จะทาให้ msg ซึ่งเป็นพารามิเตอร์ของ เมท็อดชี้ไปยังออบเจ็กต์เดียวกับ message และพารามิเตอร์ shift มีค่าเป็น 5 เช่นกัน 4.เมื่อเมท็อด encrypt ทางาน ทาให้ตัวแปร encrypted Message ชี้ไปยังหน่อยความจาออบเจ็กต์สตริงที่สร้างขึ้นมาใหม่ 5.จากนั้นจะทาให้ตัวแปร msg ชี้ไปยังสตริงชุดใหม่ที่ผ่านการเข้ารหัสแล้ว 6.หลังจากนั้นจะให้ encryptedMessage มีค่าสตริงที่เข้ารหัสแล้ว
26.
ตัวอย่างโปรแกรม จะแสดงการสร้างคลาสของการนาตัวอักขระ [] มาสร้างเป็นรูปสามเหลี่ยม
โดยการสร้างคลาสสามารถทาได้ ดังต่อไปนี้ 1.สร้างโปรเจ็กต์ใหม่ 2.สร้างคลาสใหม่ โดยเลือกเมนู New>Class 3.กาหนดชื่อคลาส แล้วกด Next 4.โปรแกรมจะแสดงคลาสใหม่ขึ้นมา 5.จากนั้นให้เติมโค้ด แล้วรันโปรแกรม
27.
สถานีสอนเขียนโปรแกรมอัจฉริยะ.การเขียนโปรแกรมเชิงวัตถุ.(ออนไลน์). แหล่งที่มา : http://blogwitt.tumblr.com/post
/93188547255/101 static. ๒๔ พฤศจิกายน ๒๕๕๘ ณรงค์เดช บุญพุ่มพวงและคณะ.การเขียน program เชิงวัตถุ.(ออนไลน์). แหล่งที่มา : https://phuengkun1.wordpress.com คลาสและออบจ็กต์ . ๒๔ พฤศจิกายน ๒๕๕๘ ทีมงานวิกิพีเดีย.(ออนไลน์). แหล่งที่มา : https://th.wikipedia.org/wiki/ ความหมายของโอโอพี . ๒๔ พฤศจิกายน ๒๕๕๘
28.
นางสาวไอรินทร์ นิธิภัทร์พรปัญญา เลขที่
14 นางสาวปณิดา ธนกิจ เลขที่ 15 นางสาวลาภิศ อุทาทิพย์ เลขที่ 18 นางสาวกุลยา จันทรสูตร เลขที่ 21 นางสาวฉัตรชนก หงษาวดี เลขที่ 23 นางสาวธนัณญา เหลืองกัลยาณคุณ เลขที่ 24 นางสาวสิรีธร ขวัญอ่อน เลขที่ 29
Download