บทที่ 6 คลาสและการเขียนโปรแกรม   วัตถุเบื้องต้น
เขียนโปรแกรมแบบดั้งเดิมของเราจะเสมือนกับการเขียนคำาสั่งทีจะสั่งให้เครื่องคอมพิวเตอร์ทำางานตาม              ่ทีเราต้องการซึ...
ในแง่หนึงเราก็อาจตีความว่า object เป็นตัวแปรทีมี        ่                                        ่ความพิเศษอยูในตัวเอง คือ...
Object 2                                data    Object 1      data                                  Object 4              ...
เป็นตัวกำาหนดว่า object นั้นจะมี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของอ๊...
1. identity คือ เอกลักษณ์เฉพาะตัวที่ทำาให้ Object ของคลาสหนึ่งๆ แตกต่างจาก Object ของอีกหนึ่งคลาสหนึ่ง ซึ่งในภาษาจาวา iden...
Encapsulation - การปิดบังข้อมูล เป็นวิธีการกำาหนด สิทธิในการเข้าถึงข้อมูล หรือการกระทำากับ อ็อบเจกต์ ของ คลาสนันๆ ทำาให้แน...
คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ1) การห่อหุ้ม (Encapsulation)   หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทำาได้โดยกา...
2) การสืบทอด (Inheritance)       หมายถึงการนิยามคลาสใหม่จากคลาสทีมี  ่อยูแล้วโดยคลาสใหม่สามารถทีจะนำาคุณลักษณะ   ่        ...
หมายถึง การที่สามารถตอบสนองต่อข่าวสาร (เมธอด) เดียวกันด้วยวิธการที่ต่างกัน และ                        ี สามารถกำาหนดออปเจ็...
2) เรียก object ใน class เดียวกัน โดยมองว่า class เสมือนกล   เก็บ object มากมาย>> สร้างกล่อง 1 กล่องในกล่องมี 2 object และ...
ผูจัดทำา                    ้นาย นราธิป        โรจนสุว รพงค์         เลขที่ 1  นาย อนพัช          บ่อ พลอย         เลขที่ ...
Upcoming SlideShare
Loading in...5
×

บทที่ 6 คลาสและการเขียนโปรแกรม

1,932

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,932
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

บทที่ 6 คลาสและการเขียนโปรแกรม

  1. 1. บทที่ 6 คลาสและการเขียนโปรแกรม วัตถุเบื้องต้น
  2. 2. เขียนโปรแกรมแบบดั้งเดิมของเราจะเสมือนกับการเขียนคำาสั่งทีจะสั่งให้เครื่องคอมพิวเตอร์ทำางานตาม ่ทีเราต้องการซึ่งโดยรูปแบบเหมือนกับผู้พฒนา ่ ัโปรแกรมจะพูดหรือออกคำาสั่งในเชิงของกริยาหรือการกระทำาให้กับเครื่องคอมพิวเตอร์ให้ทำางานตามทีเราสั่ง เช่น พิมพ์ข้อความบนหน้าจอ รับข้อมูล ่จากคียบอร์ดเป็นต้น ในทีนี้ผู้เขียนโปรแกรม ์ ่ทำาการเขียนคำาสั่งเพือทีจะสั่งให้เครื่องทำางานพิมพ์ ่ ่ข้อความออกบนหน้าจอหรือรับข้อมูลจากคีย์บอร์ดสำาหรับการเขียนหรือพัฒนาโปรแกรมในอีกรูปแบบหนึงเป็นการมองโปรแกรมในลักษณะของกลุ่มก้อน ่ของวัตถุที่ประกอบด้วยตัวข้อมูลและคำาสั่งการจัดการหรือวิธีการทีจะจัดการกับข้อมูลเหล่านัน เรา ่ ้เรียกโปรแกรมในลักษณะนี้ว่าเป็นแกรมเชิงวัตถุ(Object OrientedProgramming) หรือ OOP ซึ่งจะคล้ายคลึงหรือเป็นการเลียนแบบโลกแห่งความเป็นจริงโดยมองทุกๆสิ่งเป็นวัตถุ 
  3. 3. ในแง่หนึงเราก็อาจตีความว่า object เป็นตัวแปรทีมี ่ ่ความพิเศษอยูในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้ ่แล้ว เรายังสามารถที่จะสัง (request) ให้ object ่ทำางาน (operation) ต่าง ๆ ทีเกี่ยวกับตัวมันเองด้วย ่- Program ประกอบไปด้วย object ทีต่างก็ส่ง ่ข้อความ (message) บอกให้กนและกันว่าต้องทำา ัอะไรการส่ง message ก็คือการส่ง request หรือการเรียกใช้ function ของ object นัน ๆ ้- Object แต่ละตัวมีหน่วยความจำาทีเต็มไปด้วย ่object อื่น ๆเราสร้าง object จาก object ตัวอื่นที่มีอยูแล้ว ่- Object มี รูปแบบ หรือ ชนิด ของตัวเอง(type/class)
  4. 4. Object 2 data Object 1 data Object 4 data Object 3 dataแต่ละ Object สามารถติดต่อสื่อสารกันได้โดยการส่ง
  5. 5. เป็นตัวกำาหนดว่า object นั้นจะมี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของอ๊อปเจ็ค วัตถุ (Object) คือ ตัวแทนของบุคคลสถานที่ หรือสิงของที่สนใจในเหตุการณ์หนึ่ง ่ซึ่งอาจจับต้องได้หรือจับต้องไม่ได้ Object เป็นองค์ประกอบสำาคัญของการเขียนโปรแกรมที่สามารถรับค่าและแสดงส่งค่าได้ และจากนิยาม Object คือตัวแทนของสิ่งของที่อยู่ในโลกของความเป็นจริง ซึ่งอาจเป็นสิงที่จับต้องได้หรือไม่ได้ จะต้องมี ่คุณลักษณะ (Attribute) ที่บงบอกว่าเป็น ่Object ของอะไร และมีพฤติกรรม (Behavior)
  6. 6. 1. identity คือ เอกลักษณ์เฉพาะตัวที่ทำาให้ Object ของคลาสหนึ่งๆ แตกต่างจาก Object ของอีกหนึ่งคลาสหนึ่ง ซึ่งในภาษาจาวา identity จะหมายถึงAttribute หรือตัวแปร (Variable)2. State คือสถานะของ Object ณเวลาหนึ่งๆ ซึ่งสามารถเปลี่ยนแปลงได้เมื่อมีการกระตุ้นจาก Object อื่นโดยการส่ง Message ในภาษาจาวา Stateจะหมายถึงค่าของ Attribute (Valueof Attribute)3. Behavior คือ พฤติกรรมที่ Objectกระทำาและตอบสนองทุกครั้ง โดยการกระตุ้น Object อื่นโดยการส่ง Messageต่อกันในภาษาจาวา Behavior ก็คอ ื
  7. 7. Encapsulation - การปิดบังข้อมูล เป็นวิธีการกำาหนด สิทธิในการเข้าถึงข้อมูล หรือการกระทำากับ อ็อบเจกต์ ของ คลาสนันๆ ทำาให้แน่ใจได้ว่าข้อมูลของอ็อบเจกต์ ้ นันจะถูกเปลี่ยนแปลงแก้ไขผ่านทาง methods หรือ ้ properties ทีอนุญาตเท่านั้น ่Inheritance - การสืบทอดคุณสมบัติ เป็นวิธีการสร้าง คลาสย่อย ทีเรียกว่าซับคลาส (subclass) ซึ่งจะเป็น ่ กำาหนดประเภทของวัตถุให้จำาเพาะเจาะจงขึ้น ซึ่ง ซับ คลาส จะได้รับถ่ายทอดคุณสมบัติต่างๆมาจากคลาส หลักด้วย Abstraction - นามธรรม เป็นการแสดงถึง คุณลักษณะและพฤติกรรมของ object เท่าทีจำาเป็น ่ ต้องรับรู้และใช้งาน โดยซ่อนส่วนทีเหลือเอาไว้เพื่อไม่ ่ ให้เกิดความสับสน Polymorphism - ภาวะทีมหลายรูปแบบ เป็นวิธีการ ่ ี กำาหนดรูปแบบการกระทำาที่เหมือนกันแต่ได้ผลทีแตก ่ ต่างกัน เช่น การเปล่งเสียง เป็น method หลักของ คลาส สิ่งมีชีวิต ซึ่งมีคลาส มนุษย์ และคลาสสุนข เป็น ั
  8. 8. คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ1) การห่อหุ้ม (Encapsulation) หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทำาได้โดยการเรียกผ่านเมธอดเท่านั้น หลักการของการห่อหุ้ม คือการกำาหนดให้คุณลักษณะของอ๊อปเจ็คมีคุณสมบัติเป็น private และกำาหนดให้เมธอดมีคุณสมบัติเป็น public โดยมีเมธอด get/set ไว้เพื่อเข้าถึงdata นั้นๆ จะเรียกว่า class นั้นๆ เป็น Full Encapsulationclass
  9. 9. 2) การสืบทอด (Inheritance) หมายถึงการนิยามคลาสใหม่จากคลาสทีมี ่อยูแล้วโดยคลาสใหม่สามารถทีจะนำาคุณลักษณะ ่ ่และเมธอดของคลาสเดิมมาใช้ได้ คือ Class หนึงๆสามารถสืบทอดคุณสมบัติ ่บางประการจาก Class อื่น แล้วเพิ่มคุณสมบัติเฉพาะของ Class นันเข้าไป ้- Class ทีได้รับการสืบทอดคุณสมบัติเรียกว่า ่Subclasses- Class ทีเป็นต้นแบบเรียกว่า Superclass ่เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนทีซำ้าหลายๆ ่รอบ (Reusable)Class หนึ่งๆจะมี Superclass ได้เพียง Classเดียวเท่านั้น (Single Inheritance)ในภาษาจาวา จะใช้คียเวิร์ด extends เพือระบุ ์ ่
  10. 10. หมายถึง การที่สามารถตอบสนองต่อข่าวสาร (เมธอด) เดียวกันด้วยวิธการที่ต่างกัน และ ี สามารถกำาหนดออปเจ็คได้หลายรูปแบบ- Overridden method- Dynamic Bindingตัวอย่างที่เน้นโปรแกรมแบบ OOP1) Object แรกของ class มักชื่อ main โปรแกรมนี้สั้น และง่ายที่สุด>> สร้างกล่อง 1 กล่องในกล่องมี object ทำางาน พิมพ์ x เพียงอักษรเดียว>> มองว่า class ก็คือกล่อง แต่ละกล่องคือที่เก็บ object class x { public static void main(String args[]) { System.out.println("x");
  11. 11. 2) เรียก object ใน class เดียวกัน โดยมองว่า class เสมือนกล เก็บ object มากมาย>> สร้างกล่อง 1 กล่องในกล่องมี 2 object และ object 1 เรียก object 2 มาทำางาน class x { public static void main(String args[]) { int i = 1; System.out.println(i); ok(); } static void ok() { System.out.println("xx"); } }// Result of this program// 1// xx
  12. 12. ผูจัดทำา ้นาย นราธิป โรจนสุว รพงค์ เลขที่ 1 นาย อนพัช บ่อ พลอย เลขที่ 2 นาย วุฒ ิภ ท ร เถื่อ นคำา ั เลขที่ 3 นาย สุท ธิเ ดช ผิว อ่อ นดี เลขที่ 8 นาย ปัญ ญา จัน ทยา เลขที่ 11นาย วิช า มโนมัย เพิม พูน เลขที่ 13 ่นายศิร ิว ัฒ น์ พุท ธอิน ทร์ศ ร เลขที่ 14 มัธ ยมศึก ษาปีท ี่ 6/2
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×