SlideShare a Scribd company logo
1 of 35
Download to read offline
บทที่ 7 วิธีการเชิงวัตถุและการออกแบบคลาส



                            Srinagarindra The Princess Mother
                            School               Kanchanaburi
                                                                                             1
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                            (Object Oriented)                              Object


                      ความสัมพันธและปฏิสัมพันธระหวางวัตถุ




                                                                                                      2
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
ตารางเปรียบเทียบการวิเคราะหและออกแบบระบบวิธีเดิมกับวิธีเชิงวัตถุ
                                  วิธีเดิม                                              วิธีเชิงวัตถุ
                    เริ่มตนจากการวิเคราะหเอกสาร                          เริ่มตนการวิเคราะหจาก Objects ที่
                    ผลลัพธ และการทํางานของ                                สามารถเห็นไดชัดเจน
                    ระบบงานเดิม
                    แตกการทํางานออกเปนหนวย                               แบงกลุมของ Object ตาม
                    ยอยๆ                                                  คุณลักษณะ
                    องคประกอบตางๆของระบบ เชน                            แตละ Object เปนอิสระตอกัน การ
                    การประมวลผล การออกรายงาน                               เปลี่ยนแปลงจะไมกระทบกัน
                    การคํานวณ จะเกียวพันกัน การ
                                      ่
                    เปลี่ยนแปลงจะกระทบซึ่งกันและ
                    กัน
                                                                                                                 3
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
ตารางเปรียบเทียบการวิเคราะหและออกแบบระบบวิธีเดิมกับวิธีเชิงวัตถุ

                                   วิธีเดิม                                             วิธีเชิงวัตถุ
                      การปรับเปลี่ยนระบบตองแกไข                            การปรับเปลี่ยนระบบ ทําไดโดย
                      Source Code                                            การเปลี่ยน Attributes, Functions ของ
                                                                             Object
                      Tools ที่สนับสนุนมีนอยลง                              Tools ที่สนับสนุนมีมากขึ้น




                                                                                                                    4
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
           (Object)


                     การสื่อสารระหวาง Object เรียกวา Message




                                                                                             5
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
    Class             Object
                      Object                                           Class
                     Class Object
                      เดียวกันหรือไม ในความเปนจริง Class ถือวาเปน นามธรรม (Abstract)
                      ในขณะที่ Object นั้นเปนสิ่งที่มีตัวตน (Concrete) กลาวคือ Class เปน
                      เหมือนพิมพเขียวของ Object โดยที่ Class จะไมสามารถทํางานได แต
                      Object สามารถทํางานได
                     การทํางานของ Object จะเปนไปตามคุณสมบัติที่กําหนดไวใน Class
                      และ Object ทุกตัวก็ตองอยูใน Class ดังนัน Class และ Object จึงเปนสิง
                                                             ้                            ่
                      คูกนเสมอ
                        ั
                                                                                                6
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
Student
                     Class                              Class
                                                                                             StudentID
                                 Attributes)
                                                                                             FirstName
                      (Operations      Methods)                                              LastName
                                                                                             Address
                                                                                             Telephone
                                                     Name                                    Birthdate
                                                                                             Faculty
                                                  Attributes                                 GPA
                                                                                             Register()
                                                   Methods                                   Drop()
                                                                                             Withdraw()
                                                                                             ตัวอยาง Class Student
                                                                                                                      7
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                     (Inheritance)       Subclass
                                                    (Attributes)     Superclass




                                                                                             Multiple Inheritance
                     สัญญลักษณทใช คือ ลูกศรหัวรูปสามเหลี่ยมใส ชี้จาก Subclass ไปยัง
                                 ่ี
                      Superclass
                                                                                                                    8
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
Transaction

                                                                                                   TransactionNumber
                                                                                                   EmployeeNumber
                                                                                                   TransactionDate
                                                                                                   TransactionTime
                                                                                                   BarcodeNumber
                                                                                                   Price
                                                                                                   SalesTax




                                                                            Sales Transaction                           Rental Transaction

                                                                               ----inherited----                           ----inherited----
                                                                           TransactionNumber                           TransactionNumber
                                                                           EmployeeNumber                              EmployeeNumber
                                 Without Inheritance                       TransactionDate
                                                                           TransactionTime
                                                                                                                       TransactionDate
                                                                                                                       TransactionTime
                                                                           BarcodeNumber                               BarcodeNumber
                                                                           Price                                       Price
                                                                           SalesTax                                    SalesTax
                                                                                  ----local----                               ----local----
                                                                           QuantitySold                                MemberNumber




                                                                                                   With Inheritance
                                                                                                                                               9
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                                                           Object


                     ผูออกแบบระบบงานเชิงวัตถุสามารถออกแบบระบบงานขนาดใหญได
                        
                      โดยการอาศัย Object ที่มีการนิยามไวกอนหรือที่มีผูอื่นทําการออกแบบ
                      ไวกอนแลว ซึ่งเปนที่มาของการนํากลับมาใชใหม (Reusability)




                                                                                                      10
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/

                            1.
                            2.
                            3.       ลดคาใชจายในการพัฒนาระบบ




                                                                                             11
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
    Polymorphism                           Object
                      Function/ Message
                     Class                   Class
                      จาก Class รูปหลายเหลียม โดยทังคูมี Function ทีชอ draw() เหมือนกัน
                                               ่        ้               ่ ่ื
                      แตเมื่อมีการเรียกใช function ดังกลาว Object ทีสรางจาก Class รูป
                                                                       ่
                      สี่เหลี่ยมจะมีการวาดรูปสี่เหลี่ยม ขณะที่ Object ที่สรางจาก Class รูป
                      สามเหลี่ยมจะมีการวาดรูปสามเหลี่ยม



                                                                                              12
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
•                  Polymorphism
                                     code
                                                                                                รูปหลายเหลียม
                                                                                                           ่
                                                                                                    draw()
                     ชุดคําสังทัวไป และมอบหนาที่
                             ่ ่
                     รายละเอียดของการนําไปใชแก                                  รูปสีเหลียม
                                                                                       ่ ่                      รูปสามเหลียม
                                                                                                                           ่
                     Object ทีเ่ กียวของจัดการ
                                   ่                                                 draw()                         draw()




                                                                                                                               13
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/

                                       Object
                                                                        Object
                      อนุญาตจากเจาของ Object นั้นกอน กลาวคือการเขาถึงขอมูลนั้น จะไม
                      สามารถเขาถึงไดโดยตรง แตจะตองมีการตอบรับจาก Method ใน Object
                      ปลายทางนันวาจะยอมให Object ทีสง Message เขาถึงขอมูลของตนหรือไม
                                ้                     ่ 
                     Encapsulation หมายถึง ลักษณะการเขียนโปรแกรมที่จะมีการซอนขอมูลที่
                      ตองการควบคุมความถูกตองของขอมูลไว (Information Hiding) และบังคับ
                      ให Object อื่นเขาถึงขอมูลที่ซอนไวผานทาง Interface ทีเ่ ตรียมไว ทําให
                      สามารถควบคุมความถูกตองของขอมูลได
                                                                                                     14
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                                                           Object

                       Public (+) ซึ่งสามารถเขาถึงไดโดยตรงจากภายนอก
                       Private (#) ซึงจะถูกใชงานจากภายใน Class เทานัน
                                      ่                                ้
                       Protected (-) ซึงจะสามารถเห็นหรือเขาถึงไดจากภายใน Subclass เทานัน
                                        ่                                                  ้




                                                                                                      15
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                             Object              Class




                                                                                             16
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                             Object              Class          “Whole-Part”
                      “is part of”                    Class                                  Object           Class




                                                                                                                      17
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                             Object
                              Class                                                              Text




                      Class ซึงเปนองคประกอบของ
                               ่                                                       Windows   Button


                      Class อืนทีใหญกวา
                              ่ ่
                     เมือ Class ทีใหญกวาถูกทําลาย
                         ่          ่                                                            Menu

                      Class ทีเ่ ปนองคประกอบก็จะถูก
                      ทําลายไปดวย


                                                                                                          18
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
Person

                                                                                            Lastname
                                                                                             Firstname

                      Object             Class
                                                                                             Birthdate
                                                                                             Gender
                                                                                             Walk()
                                                                                             Jump()
                                                                                             Talk()

                      Class หนึ่ง (Superclass) ไปยังอีก
                                                                                             Sleep()
                                                                                             Eat()


                      Class หนึ่ง (Subclass)
                                                                                Student                          Teacher

                                                                           Department                       Position
                                                                           Year                             Expertise
                                                                           GPA
                                                                                                            Lecture()
                                                                           Enroll()                         Comment()
                                                                           Study()
                                                                           Exam()
                                                                           Graduate()




                                                                                                                           19
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
บทที่ 12 การเขียนโปรแกรมโดยใช NetBeans



                            Srinagarindra The Princess Mother
                            School               Kanchanaburi
                                                                                             20
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
    NetBeans IDE        Freeware Editor
                                                  NetBeans
                                                  Java, php, C/C++
                      สามารถ download PlugIn ตางๆมาใชงานรวมกับตัว NetBeans เองดวย
                      ยกตัวอยางเชน iReport เปน Plugin ทีใชในการสรางreport หรือ Visual
                                                           ่
                      Web Page Layouts ใชในการแสดงตัวอยางหนา web page




                                                                                             21
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                          NetBeans              download             NetBeans
                      http://netbeans.org/downloads/index.html NetBeans                  version     Platform
                                            Platform version
                                 download                    .exe file
                      ยัง directory ที่ตองการจะทําการติดตั้งไดเลย หลังจากติดตั้งโปรแกรมเสร็จสมบูรณแลว เราสา
                      มามารถเขาโปรแกรม NetBeans ไดจากหนา desktop




                                                                                                                  22
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                     download                                   .exe file
                                                        directory

                      โปรแกรม NetBeans ไดจากหนา desktop




                                                                                              23
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                              JAVA
                      download JDK                        Java Development Kit
                             download
                      http://www.oracle.com/technetwork/java/javase/downloads/
                      index.html
                     เมือ download JDK แลวก็ตองทําการ Set class path เพือใหสามารถ Compile
                         ่                                                      ่
                      และ Run Java ได โดยวิธทาสามารถติดตามไดจาก Link ดานลางเลยครับ
                                             ีํ
                      http://archive.oracle.in.th/2008/02/set-path-class-path-j2se-
                      dos.htmlหรือ
                      http://www.dominixz.com/blog/software-tips/set-java-to-
                      compile-and-run-all-places-in-dos/

                                                                                                24
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
NetBeans
                                                                ออกเปน 4 สวนใหญๆดังนีครับ
                                                                                        ้




                                                                                               25
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                              Tool
                                                Project
                          Browse Project File
                     เปนสวนที่ใชในการเขียน Code
                     เปนสวนที่ใชในการแสดงผลการทํางานตาง เมื่อทําการ Run โปรแกรม
                      และยังมีสวนของการ debug โปรแกรมดวย



                                                                                             26
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                   GUI                               NetBeans
                                                                                           New Project
                                              File >> New Project




                                                                                                         27
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                                                           Java   Java
                      Application                    Next




                                                                                                           28
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                                                       Project              Project
                      Name             Project NetBeansTutorial                              Main Class MainClass
                                                    Finish
                           Project      NetBeansTutorial File MainClass.java
                   ตอไปเราจะลองสราง class TestObj ขึ้นมา เพื่อลองใช Funtion บางอยางของNetBeans ครับ
                                                                                            NetBeans
                  โดยการสราง class ใหมนั้น เราสามารถทําไดโดย คลิกขวาที่ชื่อ Project แลวเลือกNew >>
                   Java Class ดังภาพ




                                                                                                                        29
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                                                                           Class TestObj   Finish
                          class TestObj code
                     public class TestObj {
                       private String firstName;
                       private String lastName;
                       public void showName() {
                          System.out.println("THIS IS METHOD showName()");
                          System.out.println("My name is "+firstName+" "+lastName);
                       }
                     }




                                                                                                                      30
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
              Attribute Class TestObj private
                      Getter and Setter                      NetBeans       Getter and
                   Setter Attribute                                                  code
                   เลือก Insert Code
                                Codeจะปรากฏหนาตางขึนมาใหเลือกที่ Getter and Setter
                                                        ้
                  หนาตางสําหรับการ Generate Getters and Setters จะขึนมา ใหเราทําการ
                                                                        ้
                   เลือกวาจะสราง Getters and Setters ใหกบ Attribute ใดบาง เมื่อเลือกเสร็จ
                                                           ั
                   เรียบรอยใหกดGenerate



                                                                                                31
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
             code class TestObj                                                 public void setFirstName(String
                    public class TestObj {                                                  firstName) {
                       private String firstName;                                                   this.firstName = firstName;
                       private String lastName;                                                 }
                
                       public void showName() {                                                public String getLastName() {
                          System.out.println("THIS IS METHOD showName()");                        return lastName;
                          System.out.println("My name is "+firstName+" "+lastName);            }
                       }
                                                                                                public void setLastName(String
                       public String getFirstName() {                                       lastName) {
                          return firstName;                                                        this.lastName = lastName;
                       }                                                                        }
                                                                                            }


                                                                                                                                   32
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
                Generate Getters and Setters                               Function   NetBeans

                 
                            class TestObj                            code      MainClass
                     public class MainClass {
                        public static void main(String[] args) {
                            TestObj temp = new TestObj();
                            temp.setFirstName("Itthi");
                            temp.setLastName("Kruenarongkul");
                            temp.showName();
                 
                            temp.setFirstName("Monthinee");
                            temp.setLastName("Buntawee");
                            temp.showName();
                        }
                                                                                                                   33
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
           code                                    CTRL+SpaceBar
                          method                Attribute                                    NetBeans

                                        Code                                           Run
                      เขียวที่อยูดานลางแถบเมนู




                                                                                                        34
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
NetBeans                 Save                                         Run   NetBeans
                         compile                  error




                                                                                                              35
Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/

More Related Content

More from KEk YourJust'one

งานย่อยภาณุพงศ์
งานย่อยภาณุพงศ์งานย่อยภาณุพงศ์
งานย่อยภาณุพงศ์KEk YourJust'one
 
งานย่อยที่ 1 การแข่งขัน
งานย่อยที่ 1 การแข่งขันงานย่อยที่ 1 การแข่งขัน
งานย่อยที่ 1 การแข่งขันKEk YourJust'one
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานKEk YourJust'one
 
การเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกการเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกKEk YourJust'one
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3KEk YourJust'one
 
Canon เรียกคืนกล้อง PowerShot S100
Canon เรียกคืนกล้อง PowerShot S100Canon เรียกคืนกล้อง PowerShot S100
Canon เรียกคืนกล้อง PowerShot S100KEk YourJust'one
 

More from KEk YourJust'one (8)

งานย่อยภาณุพงศ์
งานย่อยภาณุพงศ์งานย่อยภาณุพงศ์
งานย่อยภาณุพงศ์
 
งานย่อย 6
งานย่อย 6งานย่อย 6
งานย่อย 6
 
งานย่อย1
งานย่อย1งานย่อย1
งานย่อย1
 
งานย่อยที่ 1 การแข่งขัน
งานย่อยที่ 1 การแข่งขันงานย่อยที่ 1 การแข่งขัน
งานย่อยที่ 1 การแข่งขัน
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกการเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือก
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
 
Canon เรียกคืนกล้อง PowerShot S100
Canon เรียกคืนกล้อง PowerShot S100Canon เรียกคืนกล้อง PowerShot S100
Canon เรียกคืนกล้อง PowerShot S100
 

อ.ทรงศักดิ์งานกลุ่ม

  • 1. บทที่ 7 วิธีการเชิงวัตถุและการออกแบบคลาส Srinagarindra The Princess Mother School Kanchanaburi 1 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 2. (Object Oriented) Object ความสัมพันธและปฏิสัมพันธระหวางวัตถุ 2 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 3. ตารางเปรียบเทียบการวิเคราะหและออกแบบระบบวิธีเดิมกับวิธีเชิงวัตถุ วิธีเดิม วิธีเชิงวัตถุ เริ่มตนจากการวิเคราะหเอกสาร เริ่มตนการวิเคราะหจาก Objects ที่ ผลลัพธ และการทํางานของ สามารถเห็นไดชัดเจน ระบบงานเดิม แตกการทํางานออกเปนหนวย แบงกลุมของ Object ตาม ยอยๆ คุณลักษณะ องคประกอบตางๆของระบบ เชน แตละ Object เปนอิสระตอกัน การ การประมวลผล การออกรายงาน เปลี่ยนแปลงจะไมกระทบกัน การคํานวณ จะเกียวพันกัน การ ่ เปลี่ยนแปลงจะกระทบซึ่งกันและ กัน 3 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 4. ตารางเปรียบเทียบการวิเคราะหและออกแบบระบบวิธีเดิมกับวิธีเชิงวัตถุ วิธีเดิม วิธีเชิงวัตถุ การปรับเปลี่ยนระบบตองแกไข การปรับเปลี่ยนระบบ ทําไดโดย Source Code การเปลี่ยน Attributes, Functions ของ Object Tools ที่สนับสนุนมีนอยลง Tools ที่สนับสนุนมีมากขึ้น 4 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 5. (Object)  การสื่อสารระหวาง Object เรียกวา Message 5 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 6. Class Object Object Class  Class Object เดียวกันหรือไม ในความเปนจริง Class ถือวาเปน นามธรรม (Abstract) ในขณะที่ Object นั้นเปนสิ่งที่มีตัวตน (Concrete) กลาวคือ Class เปน เหมือนพิมพเขียวของ Object โดยที่ Class จะไมสามารถทํางานได แต Object สามารถทํางานได  การทํางานของ Object จะเปนไปตามคุณสมบัติที่กําหนดไวใน Class และ Object ทุกตัวก็ตองอยูใน Class ดังนัน Class และ Object จึงเปนสิง   ้ ่ คูกนเสมอ ั 6 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 7. Student  Class Class StudentID Attributes) FirstName (Operations Methods) LastName Address Telephone Name Birthdate Faculty Attributes GPA Register() Methods Drop() Withdraw() ตัวอยาง Class Student 7 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 8. (Inheritance) Subclass (Attributes) Superclass Multiple Inheritance  สัญญลักษณทใช คือ ลูกศรหัวรูปสามเหลี่ยมใส ชี้จาก Subclass ไปยัง ่ี Superclass 8 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 9. Transaction TransactionNumber EmployeeNumber TransactionDate TransactionTime BarcodeNumber Price SalesTax Sales Transaction Rental Transaction ----inherited---- ----inherited---- TransactionNumber TransactionNumber EmployeeNumber EmployeeNumber Without Inheritance TransactionDate TransactionTime TransactionDate TransactionTime BarcodeNumber BarcodeNumber Price Price SalesTax SalesTax ----local---- ----local---- QuantitySold MemberNumber With Inheritance 9 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 10. Object  ผูออกแบบระบบงานเชิงวัตถุสามารถออกแบบระบบงานขนาดใหญได  โดยการอาศัย Object ที่มีการนิยามไวกอนหรือที่มีผูอื่นทําการออกแบบ ไวกอนแลว ซึ่งเปนที่มาของการนํากลับมาใชใหม (Reusability) 10 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 11. 1. 2. 3. ลดคาใชจายในการพัฒนาระบบ 11 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 12. Polymorphism Object Function/ Message  Class Class จาก Class รูปหลายเหลียม โดยทังคูมี Function ทีชอ draw() เหมือนกัน ่ ้  ่ ่ื แตเมื่อมีการเรียกใช function ดังกลาว Object ทีสรางจาก Class รูป ่ สี่เหลี่ยมจะมีการวาดรูปสี่เหลี่ยม ขณะที่ Object ที่สรางจาก Class รูป สามเหลี่ยมจะมีการวาดรูปสามเหลี่ยม 12 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 13. Polymorphism code รูปหลายเหลียม ่ draw() ชุดคําสังทัวไป และมอบหนาที่ ่ ่ รายละเอียดของการนําไปใชแก รูปสีเหลียม ่ ่ รูปสามเหลียม ่ Object ทีเ่ กียวของจัดการ ่ draw() draw() 13 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 14. Object  Object อนุญาตจากเจาของ Object นั้นกอน กลาวคือการเขาถึงขอมูลนั้น จะไม สามารถเขาถึงไดโดยตรง แตจะตองมีการตอบรับจาก Method ใน Object ปลายทางนันวาจะยอมให Object ทีสง Message เขาถึงขอมูลของตนหรือไม ้ ่   Encapsulation หมายถึง ลักษณะการเขียนโปรแกรมที่จะมีการซอนขอมูลที่ ตองการควบคุมความถูกตองของขอมูลไว (Information Hiding) และบังคับ ให Object อื่นเขาถึงขอมูลที่ซอนไวผานทาง Interface ทีเ่ ตรียมไว ทําให สามารถควบคุมความถูกตองของขอมูลได 14 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 15. Object  Public (+) ซึ่งสามารถเขาถึงไดโดยตรงจากภายนอก  Private (#) ซึงจะถูกใชงานจากภายใน Class เทานัน ่ ้  Protected (-) ซึงจะสามารถเห็นหรือเขาถึงไดจากภายใน Subclass เทานัน ่ ้ 15 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 16. Object Class 16 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 17. Object Class “Whole-Part” “is part of” Class Object Class 17 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 18. Object Class Text Class ซึงเปนองคประกอบของ ่ Windows Button Class อืนทีใหญกวา ่ ่  เมือ Class ทีใหญกวาถูกทําลาย ่ ่ Menu Class ทีเ่ ปนองคประกอบก็จะถูก ทําลายไปดวย 18 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 19. Person  Lastname Firstname Object Class Birthdate Gender Walk() Jump() Talk() Class หนึ่ง (Superclass) ไปยังอีก Sleep() Eat() Class หนึ่ง (Subclass) Student Teacher Department Position Year Expertise GPA Lecture() Enroll() Comment() Study() Exam() Graduate() 19 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 20. บทที่ 12 การเขียนโปรแกรมโดยใช NetBeans Srinagarindra The Princess Mother School Kanchanaburi 20 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 21. NetBeans IDE Freeware Editor NetBeans Java, php, C/C++ สามารถ download PlugIn ตางๆมาใชงานรวมกับตัว NetBeans เองดวย ยกตัวอยางเชน iReport เปน Plugin ทีใชในการสรางreport หรือ Visual ่ Web Page Layouts ใชในการแสดงตัวอยางหนา web page 21 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 22. NetBeans download NetBeans http://netbeans.org/downloads/index.html NetBeans version Platform Platform version  download .exe file ยัง directory ที่ตองการจะทําการติดตั้งไดเลย หลังจากติดตั้งโปรแกรมเสร็จสมบูรณแลว เราสา มามารถเขาโปรแกรม NetBeans ไดจากหนา desktop 22 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 23. download .exe file directory โปรแกรม NetBeans ไดจากหนา desktop 23 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 24. JAVA download JDK Java Development Kit download http://www.oracle.com/technetwork/java/javase/downloads/ index.html  เมือ download JDK แลวก็ตองทําการ Set class path เพือใหสามารถ Compile ่ ่ และ Run Java ได โดยวิธทาสามารถติดตามไดจาก Link ดานลางเลยครับ ีํ http://archive.oracle.in.th/2008/02/set-path-class-path-j2se- dos.htmlหรือ http://www.dominixz.com/blog/software-tips/set-java-to- compile-and-run-all-places-in-dos/ 24 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 25. NetBeans ออกเปน 4 สวนใหญๆดังนีครับ ้ 25 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 26. Tool  Project Browse Project File  เปนสวนที่ใชในการเขียน Code  เปนสวนที่ใชในการแสดงผลการทํางานตาง เมื่อทําการ Run โปรแกรม และยังมีสวนของการ debug โปรแกรมดวย 26 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 27. GUI NetBeans New Project File >> New Project 27 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 28. Java Java Application Next 28 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 29. Project Project Name Project NetBeansTutorial Main Class MainClass Finish  Project NetBeansTutorial File MainClass.java ตอไปเราจะลองสราง class TestObj ขึ้นมา เพื่อลองใช Funtion บางอยางของNetBeans ครับ NetBeans  โดยการสราง class ใหมนั้น เราสามารถทําไดโดย คลิกขวาที่ชื่อ Project แลวเลือกNew >> Java Class ดังภาพ 29 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 30. Class TestObj Finish class TestObj code  public class TestObj {  private String firstName;  private String lastName;  public void showName() {  System.out.println("THIS IS METHOD showName()");  System.out.println("My name is "+firstName+" "+lastName);  }  } 30 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 31. Attribute Class TestObj private Getter and Setter NetBeans Getter and Setter Attribute code เลือก Insert Code Codeจะปรากฏหนาตางขึนมาใหเลือกที่ Getter and Setter ้  หนาตางสําหรับการ Generate Getters and Setters จะขึนมา ใหเราทําการ ้ เลือกวาจะสราง Getters and Setters ใหกบ Attribute ใดบาง เมื่อเลือกเสร็จ ั เรียบรอยใหกดGenerate 31 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 32. code class TestObj public void setFirstName(String  public class TestObj { firstName) {  private String firstName; this.firstName = firstName;  private String lastName; }   public void showName() { public String getLastName() {  System.out.println("THIS IS METHOD showName()"); return lastName;  System.out.println("My name is "+firstName+" "+lastName); }  }  public void setLastName(String  public String getFirstName() { lastName) {  return firstName; this.lastName = lastName;  } }  } 32 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 33. Generate Getters and Setters Function NetBeans   class TestObj code MainClass  public class MainClass {  public static void main(String[] args) {  TestObj temp = new TestObj();  temp.setFirstName("Itthi");  temp.setLastName("Kruenarongkul");  temp.showName();   temp.setFirstName("Monthinee");  temp.setLastName("Buntawee");  temp.showName();  } 33 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 34. code CTRL+SpaceBar method Attribute NetBeans  Code Run เขียวที่อยูดานลางแถบเมนู 34 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/
  • 35. NetBeans Save Run NetBeans compile error 35 Created with Print2PDF. To remove this line, buy a license at: http://www.software602.com/