วันจันทร์ที่ 10 ธันวาคม พ.ศ. 2555

ยินดีต้อนรับสู่บทเรียนค่ะ




คำศัพท์ Object- Oriented

     1.Abstraction
     2.Encapsulation
     3.Modularity
     4.Hierarchy
     5.class
     6.object



1. Abstraction


       ในทาง OOP การทำ Abstraction คือการซ่อน attribute และ behaviour ทุกอย่างที่ไม่เกี่ยวข้องกับ object เพื่อช่วยลดความซับซ้อนและเพิ่มประสิทธิภาพในการใช้งานAbstraction คือการแสดงถึงคุณลักษณะและพฤติกรรมของ object เท่าที่จำเป็นต้องรับรู้และใช้งานโดยซ่อนส่วนที่เหลือเอาไว้เพื่อไม่ให้เกิดความสับสน(data hidding และ encapsulation) วิธีการสร้างให้ระบบเรามีคุณสมบัติ Abstraction คือใช้หลักของ Abstract Class หรือ Interface

      "Abstraction เป็นการมองวัตถุ (Object) เฉพาะภายนอกเท่านั้น โดยไม่สนใจว่าวัตถุนั้นเกิดขึ้นได้อย่างไร หรือมีการทำงานภายในอย่างไร"
        คือมองแค่ว่า Class or Object ที่เราต้องการใช้นั้น ใช้งานมันได้อย่างไร ไม่ต้องรู้ว่ามันทำงานอย่างไรในจาวาหรือ Object Programing อื่นๆ นั้นสำคัญมาก เพื่อ ReUse Object ที่คนอื่นเขียนมาแล้วรวมทั้ง API ด้วย เช่น ต้องการเปลี่ยน String 99 ไปเป็น Integer เราก็ดูที่ API Docs ว่า ใช้คำสั่ง parseInt (String s) ใน Class Integer เราก็ใช้คำสั่ง
Integer.parseInt(99);  โดยไม่ต้องไปรู้ว่าข้างใน Class Integer ทำงานอย่างไร







2. Encapsulation

            Encapsulation เป็นการรวมเอาสิ่งที่เราต้องการ หรือที่สนใจ รวมไว้ด้วยกัน ซึ่ง ข้อมูลบางอย่าง เราจำเป็นต้องปกป้องเพื่อไม่ให้ มีการเปลื่ยนแปลง เราก็ใช้หลักการ information hiding ซึ่งก็คือ การ ปกป้องข้อมูล โดยใช้ access modify >> private ,protected เป็นต้น






3. Modularity

 - Modularity 
            เป็นการแยกสลายสิ่งที่สลับซับซ้อนให้เป็นส่วนประกอบที่สามารถจัดการได้
- Modularity
     ช่วยให้คนสามารถทำความเข้าใจระบบที่สลับซับซ้อนได้






4. Hierarchy

-  Hierarchy คือการจัดกลุ่มสิ่งต่างๆตามระดับของ Abstraction โดยการใช้โครงสร้างแบบต้นไม้   (Tree structure)
-  Hierarchy ช่วยทำให้  เร า เห็นถึงความเหมือนกันหรือแตกต่างกัน
ของสิ่งต่างๆ ได้ง่ายขึ้น

-  Hierarchy ขึ้นอยู่กับมุมมอง(perspective) เช่น เราสามารถแบ่งยานพาหนะเป็นยานพาหนะ ทางอากาศ ทางบก หรือทางเรือ แต่ถ้าเรามองยานพาหนะในแง่ของระบบเครื่องยนต์(เครื่องยนต์เบนซิน ดีเซล หรือ แบบไอน้ำ) เราก็จะได้ Hierarchy ที่แตกต่างกัน








5. Class

     Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน ดังนั้น Object ที่มีคุณสมบัติลักษณะเดียวกันนี้ จะรวมกลุ่มอยู่ใน Class เดียวกัน จึงสามารถสรุปได้ว่า Class คือ ที่มีไว้เพื่อสร้าง Object นั่นเอง Class นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้นแล้ว ยังมี Attribute และ Operation ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆด้วย





6. Object

      Object   เปรียบเหมือนกับเป็นวัตถุชิ้นหนึ่ง โดย Object จะถูกสร้างขึ้นมาโดย Class ต้นแบบข้อมูล และดึงข้อมูลต่างๆ มาจาก Class นั้นๆ ทำให้ Object จะมีลักษณะตาม Class ที่สร้างมันขึ้นมา เช่น Class ของเครื่อง Computer เมื่อเราสร้าง Object ขึ้นมาโดยใช้ Class เครื่อง Computerจะทำให้ Object นั้นๆ เป็นเครื่อง Computer แต่มีคุณสมบัติแตกต่างกันไปตามที่กำหนด   เช่น  เป็นเครื่อง PC, Laptop ความเร็ว ขนาดเครื่อง เป็นต้น









ไวยากรณ์ภาษาจาวา

      - การประกาศ class
      - การประกาศ attributes
      - การประกาศ methods
      - การประกาศ object
      - การเรียกใช้ methods
      - การเรียกใช้ attributes



1.การประกาศ Class
       คลาสเปรียบเสมือนแม่พิมพ์ วัตถุเป็นผลิตผลที่เกิดจากแม่พิมพ์ ดังนั้น การที่จะสร้างวัตถุได้ จึงจำเป็นต้องอาศัยแม่พิมพ์หรือคลาสนี้ สำหรับการประกาศคลาสเริ่มต้นด้วยคำหลัก Class ตามด้วยชื่อของClass กำหนดขอบเขตด้วย {} และจบด้วยเครื่องหมาย เซมิโคลอน (;)
รูปแบบคำสั่ง




  2.การประกาศ attributes (คุณลักษณะ)
       คุณลักษณะของออปเจ็ค คือตัวแปรหรือค่าคงที่ซึ่งประกาศภายในออปเจ็ค โดยมีตัวอย่างการประกาศคือ     





Modifier            คือ คีย์เวิร์ดของภาษาจาวาที่อธิบายคุณสมบัติต่างๆ ของตัวแปรหรือค่าคงที่
- dataType          คือ ชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
attributeName คือ ชื่อของคุณลักษณะ


3.การประกาศ methods
         ภาษาจาวากำหนดรูปแบบของการประกาศเมธอดที่อยู่ในคลาสไว้ดังนี้




- Modifier             คือ คีย์เวิร์ด ของภาษาจาวาที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)

- Return_type     คือ ชนิดข้อมูลของค่าที่จะมีการส่งกลับ

- methodName   คือ ชื่อของเมธอด

- Arguments       คือ ตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้

- Method body    คือ คำสั่งต่างๆ ของภาษาจาวาที่อยู่ในเมธอด


4.การประกาศ Object
       คำสั่งที่ใช้ในการสร้างออปเจ็คจะมีรูปแบบ ดังนี้






objectName   คือชื่อของออปเจ็ค
- new                คือคีย์เวิร์ดของภาษาจาวาเพื่อใช้ในการสร้างออปเจ็ค
ClassName     คือชื่อของคลาส

Arguments     คือค่าที่ต้องการส่งผ่านในการเรียก Contructor




5. การเรียกใช้ Method   (Call Method)

                เนื่องจากการสร้าง method  นั้นจะต้องสร้างไว้ภายนอก body ของ  method main()  ซึ่งเป็น method หลักในการเริ่มทำงานของโปรแกรม  ดังนั้นการเรียกใช้ method  ที่สร้างขึ้นจะต้องถูกเรียกภายใน method main()   โดยใช้ syntax ดังนี้

1. ในกรณีที่เป็น static method หรือ เมธอดที่ไม่จำเป็นต้องสร้างวัตุมาเรียกใช้ จะมีรูปแบบการเรียกใช้เมธอดดังนี้

ชื่อ Method();

ตัวอย่างเช่น
                                     public class maxmin {
                                                         public static void ann(int a){  
                                                             System.out.println(a);      
                                                         } //end method ann()
                                                             public static void main( String args[] )   {
                                                             ann(10);   // call method ann()
                                                         }  //end main()
                                                     } //end class
  

2. ในกรณีที่ไม่เป็น static method หรือ เมธอดที่จำเป็นต้องสร้างวัตุมาเรียกใช้ จะมีรูปแบบการเรียกใช้เมธอดดังนี้

ชื่อวัตถุ.Method();

            ดังนั้นการเรียกใช้งานเมธอดประเภทนี้จำเป็นต้องสร้างวัตถุขึ้นมาก่อนจึงจะเรียกใช้งานได้

ตัวอย่างเช่น

                                 public class maxmin {
                                 public void ann(int a) {

                                      System.out.println(a);      } //end method ann()
                                   public static void main( String args[] )   {
                                   maxmin a=new maxmin();
                            a.ann(10);   // call method ann()
                                 }  //end main()
                               } //end class


ตัวอย่างโปรแกรม:  การเรียกใช้ method ในการขีดเส้น


Source Code:

//NRandS.java                                                                                    
      public class  NRandS {                                                                                                                               

         public static void main(String[] args)     
         {                                                                                                        Output:
            line();                                                                                               
            System.out.println("Hello World!");
         }//end main()                                           
                                  
      public static void line() {                                                                                             
            for (int i=1;i<=20 ;i++ )  
            { System.out.print("=");  }//end for                                     
            System.out.println(" ");                                                                         
         } //end method line()                                                                
      }//end class      



 6. การเรียกใช้ attributes 
         แบบที่ 1   
            syntax  :        ClassName object = new ClassName().attributeName;
            example :  Person bamboo = new Person().name;

         แบบที่ 2   

                   syntax    :    ClassName object = new ClassName();
                                                   object.attributeName;
                   example :        Person bamboo = new Person();
                                     bamboo.name = "bamboolabcode";


















1 ความคิดเห็น:

  1. น่าจะมีตัวอย่างที่ Run ออกมาบ้างนะครับที่เป็นโปรแกรม

    ตอบลบ