Docstoc

04-720-101 Object Oriented Languages _______________

Document Sample
04-720-101 Object Oriented Languages _______________ Powered By Docstoc
					04-720-101 Object Oriented Programming




04-720-101 Object Oriented
    Languages (ภาษาเชิงวัตถุ)
                    วศ.บ.คพ 1 (ต่อเนื่อง), 4ปี
               Instructor : เอกลักษณ์ สุ มนพันธุ์
                Ekkalak@rmutl.ac.th
    04-720-101 Object Oriented Programming



                     วัตถุประสงค์ของการศึกษา
□ เพื่อให้นกศึกษาเข้าใจถึงหลักการเขียนโปรแกรมเชิงวัตถุ ที่ประกอบไป
            ั
  ด้ว ย การสื บทอด (Inheritance),                การปกป้ องข้อ มู ล
  (Encapsulation) และการพ้องรู ป (Polymorphism)
□ เพื่อให้เข้าใจถึงการนาแผนภาพไดอะแกรม (UML: Unified
  Modeling Language) มาอธิ บายลักษณะการเขียน
  โปรแกรมเชิงวัตถุ
□ เพื่อศึกษาทดลองใช้เครื่ องมือ (Netbeans IDE) ต่างๆเพื่อ
  พัฒนาโปรแกรมเชิงวัตถุ
04-720-101 Object Oriented Programming




            กลวิธีในการพัฒนาแอพพลิเคชัน
                                      ่
   04-720-101 Object Oriented Programming



                      การพัฒนาแอพพลิเคชัน
                                        ่
มีอยู่ 2 วิธีที่นิยม
1. วิธีการเชิงฟังก์ชน (Functional)
                     ั่
2. วิธีการเชิงวัตถุ     (Object Oriented)
     04-720-101 Object Oriented Programming



                                                  ั
                                 วิธีการเชิงฟังก์ชน
□ ใช้ห ลักการในการมองปั ญ หาในรู ป ของกระบวนการท างาน จากนั้นแตก
                                              ั             ั
  กระบวนการออกเป็ นส่ วนย่อยๆ เรี ยกว่าฟั งก์ชน และนาฟั งก์ชนมาเชื่ อมโยง
  การทางานเข้าด้วยกัน
                                              void B()
                                              {
                       void A()
                       {                      }

                       }

                                                  void D()
                                                  {
                           void C()
                           {                      }

                           }


                                 Procedure Oriented
     04-720-101 Object Oriented Programming



                              วิธีการเชิงวัตถุ
□ เป็ นการคิดและสร้างระบบงานในลักษณะโลกของความเป็ นจริ ง โดย
  มองสิ่ งต่างๆเป็ นวัตถุหรื อออบเจ็กต์ต่างๆ ซึ่ งจะมีความเป็ นอิสระไม่ข้ ึน
  ต่อกัน แต่มีการทางานร่ วมกัน
       04-720-101 Object Oriented Programming



    ปั ญหาจากวิธีการเชิงฟังก์ชนแก้ดวยการสร้าง Class
                              ั    ้
□ เมื่อมีฟังก์ชนที่ทางานร่ วมกัน สามารถจัดให้อยูรวมกันได้ภายใน Class
               ั                                ่
   Class Together
   {                                        Class name

                             void B()
                             {
          void A()
          {                  }

          }

                                 void D()
                                 {
              void C()
              {                  }

              }



   }
     04-720-101 Object Oriented Programming



                              ข้อเปรี ยบเทียบ
□ ลักษณะทัวไป ่
                 ั่
วิธีการเชิงฟังก์ชน
แตกปัญหาออกเป็ นส่ วนย่อยๆ ในรู ปของกระบวนการทางาน

วิธีการเชิงวัตถุ
มองสิ่ งต่างๆเป็ นออบเจ็กต์ มีความเป็ นอิสระต่อกันแต่ทางานร่ วมกัน
    04-720-101 Object Oriented Programming



                       ลักษณะการจาแนกงาน
□ วิธีการเชิงฟังก์ชน
                   ั
แตกกระบวนการเป็ นหน่วยย่อยๆ เรี ยกว่า “ฟังก์ชน”
                                             ั

□ วิธีการเชิงวัตถุ
แบ่งกลุ่มออบเจ็กต์ตามคุณลักษณะของออบเจ็กต์
    04-720-101 Object Oriented Programming



                            ความขึ้นต่อกัน
□ วิธีการเชิงฟังก์ชน
                   ั
         ั                      ั
  ฟังก์ชนการทางานต่างๆ จะมีลกษณะการทางานขึ้นตรงต่อกัน มีการส่ ง
                        ั                    ั
  พารามิเตอร์จากฟังก์ชนหนึ่งไปยังอีกฟังก์ชนหนึ่ง
□ วิธีการเชิงวัตถุ
  แต่ละออบเจ็กต์ไม่ข้ ึนต่อกัน แต่ติดต่อกันด้วยการส่ ง Message
  ถึงกัน
    04-720-101 Object Oriented Programming



                          ขั้นตอนการทางาน
□ วิธีการเชิงฟังก์ชนั
  เริ่ มต้นที่การกาหนดโครงสร้างและประเภทข้อมูล จากนั้นกาหนด
           ั
  ฟังก์ชนการทางานกับโครงสร้างข้อมูลดังกล่าว

□ วิธีการเชิงวัตถุ
  เริ่ มต้นด้วยการกาหนดคุณสมบัติและพฤติกรรมให้ออบเจ็กต์ต่างๆ
  จากนั้นสร้างความสัมพันธ์ระหว่างออบเจ็กต์ให้ทางานร่ วมกัน
04-720-101 Object Oriented Programming




                                    ิ ั
                กระบวนทัศน์แบบวัตถุวสย
   04-720-101 Object Oriented Programming



                             วัตถุประสงค์
□ บอกความหมายของ Object ได้
□ อธิบายลักษณะของ Properties และ Method ได้
□ อธิบายการสื่ อสารกันระหว่าง Object ได้
□ อธิบายหลักการของ Encapsulation
□ อธิบายหลักการของ Inheritance
□ อธิบายหลักการของ abstraction
□ อธิบายหลักการของ Polymorphism ได้
     04-720-101 Object Oriented Programming



                                ความหมาย
□ Object – Oriented
  Object หมายถึง วัตถุที่จบต้องได้และไม่ได้
                                     ั
  Oriented หมายถึง นาทาง นาไป
  ** หมายถึง การใช้ Object เป็ นตัวหลักในการพิจารณาความเป็ น
  จริ งต่างๆที่เกิดขึ้น คือให้มองสิ่ งที่เราสนใจทุกอย่างให้เป็ นวัตถุ
    04-720-101 Object Oriented Programming



                     O-O Concept
□ ย่อมาจากคาว่า Object Oriented
□ คือแนวคิดและรู ปแบบใหม่ในการพัฒนาระบบงาน
□ นาเอาหลักการของความเป็ นจริ งมาใช้
□ มองภาพของระบบใดๆเป็ นภาพของวัตถุยอยๆหลายวัตถุ
                                        ่
□ นาคุณสมบัติของวัตถุยอยหลายวัตถุมาเชื่อมโยงกันเพื่อให้เกิดเป็ นระบบ
                      ่
   04-720-101 Object Oriented Programming



                      Object Type
□ Object type คือ กลุ่มของ Object
□ Object คือ ตัวอย่างหนึ่งๆของ Object type
  Object type          Object
  คน          นายอ้น, นางสาวดี, นางตั้งใจ
  รถยนต์      รถบรรทุก, รถเก๋ ง, รถกะบะ
  สัตว์       เสื อ, นก, ปลา, ช้าง, มด
  คอมพิวเตอร์ PC, Notebook, Mini
  computer
   04-720-101 Object Oriented Programming



                 องค์ประกอบของ Object
□ ประกอบไปด้วย 2 ส่ วน
1. คุณสมบัติ (Properties)
  - เก็บข้อมูลภายในของ Object
  - บอกลักษณะของ Object
2. วิธีการ (Method)
  - พฤติกรรมที่ Object สามารถแสดงออกมา
  - ใช้เปลี่ยนแปลงข้อมูลใน Properties
 04-720-101 Object Oriented Programming



               องค์ประกอบของ Object

□ Properties :                            □ Method :
       Attribute                            Behavior
     ั
สี จกรยาน                                    การเปลี่ยนเกียร์
จานวนล้อ                                     การลดความเร็ ว
ขนาดล้อ                                     การเพิ่มความเร็ ว
เกียร์                                              การเลี้ยว
กริ่ ง                                              เสี ยงกริ่ ง
คันบังคับเลี้ยว
   04-720-101 Object Oriented Programming



    ข้อมูลของ Object (Object Data)
□ ในทาง O-O Programming จะเรี ยก Data ของ
  Object ว่า Properties

 Object                 Properties
 คน                     หมายเลขบัตรประชาชน เพศ วันเกิด
 จักรยาน                สี เกียร์ เบรค
 เมาส์                  สาย ลูกกลิ้ง ปุ่ ม
    04-720-101 Object Oriented Programming



                     การพิจารณา Object
□ ขึ้นอยูกบการพิจารณาตามวัตถุประสงค์ของแต่ละคน
         ่ ั
04-720-101 Object Oriented Programming



                 การพิจารณา Object
     04-720-101 Object Oriented Programming



                  การสื่ อสารระหว่าง Object
                                                                 Object A

□ Object ประกอบไปด้วย Properties และ
  Method                                            Properties

□ Method จะห่อหุ ม Properties ไว้
                 ้

□ สิ่ งที่ Object ต้องเปิ ดเผยให้ Object อื่นทราบ
  - ชื่อของ Method ที่ใช้อางถึง้
  - Properties ของ Object นั้น
  - Parameter ที่ใช้ในการรับส่ งค่าระหว่าง
  Method
04-720-101 Object Oriented Programming



             การสื่ อสารระหว่าง Object


            Object A             Message              Object B
  Get XY                                   Sum XY


    X,Y
                         Return Value
                                           Pow X(Y)

 Receiver                                   Sender
04-720-101 Object Oriented Programming



              Object และ Hierarchy


                            Computer




    Monitor               Case             Mouse               Keyboard




                                       Main board   Power supply
    04-720-101 Object Oriented Programming



       Encapsulation (Protection)

□ Encapsulation คือ การห่ อหุ ้ม Properties และ
  Method                      เข้า ไว้ด้ว ยกัน เพื่ อ ซ่ อ นและควบคุ ม การใช้
  Properties และ Method จาก Object อื่น
  กล่าวอีกนัยหนึ่ งได้ว่า เป็ นการซ่ อนรายละเอียดการทางานและข้อมูล
  ไว้ภายในไม่ให้ภายนอกสามารถทาการเปลี่ยนแปลงแก้ไข หรื อสร้าง
                    ั                 ่
  ความเสี ยหายให้กบสิ่ งต่างๆที่อยูภายในได้
04-720-101 Object Oriented Programming



                            Class
04-720-101 Object Oriented Programming



                       Inheritance

    คือ การสื บทอดคุณสมบัติ (Properties และ Method) ของ Object หรื อ Class จาก
    Object หรื อ Class อื่น
     04-720-101 Object Oriented Programming



                         Abstraction
□ Class & Method Abstract
  Abstract มีประโยชน์อย่างมากเพราะบางครั้งการทางานของ
  คลาสลู ก แ ต่ ละค ลา สไม่ เห มื อน กั น ดั ง นั้ น แท นที่ จ ะก าห น ด
  Method ขึ้นมามากมายเพื่อรองรับการทางานของคลาสลูกแต่ละ
  คลาส ก็เพียงแต่กาหนดโครงสร้างไว้ภายในคลาสแม่ก่อน แล้วให้คลาส
  ลู ก สื บ ทอดคุ ณ สมบัติ แ ล้ว ไปก าหนดรายละเอี ย ดการท างานของ
  Method เอาเอง
04-720-101 Object Oriented Programming



                ตัวอย่างของ Abstract
04-720-101 Object Oriented Programming



                     Implement
04-720-101 Object Oriented Programming



                  Polymorphism
04-720-101 Object Oriented Programming




                 Question ?

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:39
posted:7/26/2012
language:Thai
pages:32