SlideShare una empresa de Scribd logo
1 de 12
บทที่ 6
 คลาสและการ
เขียนโปรแกรม
   วัตถุเบื้องต้น
เขียนโปรแกรมแบบดั้งเดิมของเราจะเสมือนกับการ
เขียนคำาสั่งทีจะสั่งให้เครื่องคอมพิวเตอร์ทำางานตาม
              ่
ทีเราต้องการซึ่งโดยรูปแบบเหมือนกับผู้พฒนา
  ่                                        ั
โปรแกรมจะพูดหรือออกคำาสั่งในเชิงของกริยาหรือ
การกระทำาให้กับเครื่องคอมพิวเตอร์ให้ทำางานตาม
ทีเราสั่ง เช่น พิมพ์ข้อความบนหน้าจอ รับข้อมูล
    ่
จากคียบอร์ดเป็นต้น ในทีนี้ผู้เขียนโปรแกรม
         ์                   ่
ทำาการเขียนคำาสั่งเพือทีจะสั่งให้เครื่องทำางานพิมพ์
                       ่ ่
ข้อความออกบนหน้าจอหรือรับข้อมูลจากคีย์บอร์ด
สำาหรับการเขียนหรือพัฒนาโปรแกรมในอีกรูปแบบ
หนึงเป็นการมองโปรแกรมในลักษณะของกลุ่มก้อน
      ่
ของวัตถุที่ประกอบด้วยตัวข้อมูลและคำาสั่งการ
จัดการหรือวิธีการทีจะจัดการกับข้อมูลเหล่านัน เรา
                     ่                        ้
เรียกโปรแกรมในลักษณะนี้ว่าเป็นแกรมเชิง
วัตถุ(Object Oriented
Programming) หรือ OOP ซึ่งจะคล้ายคลึงหรือ
เป็นการเลียนแบบโลกแห่งความเป็นจริงโดยมอง
ทุกๆสิ่งเป็นวัตถุ 
ในแง่หนึงเราก็อาจตีความว่า object เป็นตัวแปรทีมี
        ่                                        ่
ความพิเศษอยูในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้
             ่
แล้ว เรายังสามารถที่จะสัง (request) ให้ object
                        ่
ทำางาน (operation) ต่าง ๆ ทีเกี่ยวกับตัวมันเองด้วย
                             ่
- Program ประกอบไปด้วย object ทีต่างก็ส่ง
                                ่
ข้อความ (message) บอกให้กนและกันว่าต้องทำา
                         ั
อะไร
การส่ง message ก็คือการส่ง request หรือการ
เรียกใช้ function ของ object นัน ๆ
                               ้
- Object แต่ละตัวมีหน่วยความจำาทีเต็มไปด้วย
                                 ่
object อื่น ๆเราสร้าง object จาก object ตัวอื่นที่
มีอยูแล้ว
     ่
- Object มี รูปแบบ หรือ ชนิด ของตัวเอง
(type/class)
Object 2
                                data
    Object 1
      data



                                  Object 4
                                   data
        Object 3
          data




แต่ละ Object สามารถติดต่อสื่อสารกันได้โดยการส่ง
เป็นตัวกำาหนดว่า object นั้นจะมี data หรือ
คุณลักษณะอะไร บ้าง และมี method อะไร
บ้าง เปรียบเสมือนพิมพ์เขียว (template) ขอ
งอ๊อปเจ็ค
      วัตถุ (Object) คือ ตัวแทนของบุคคล
สถานที่ หรือสิงของที่สนใจในเหตุการณ์หนึ่ง
              ่
ซึ่งอาจจับต้องได้หรือจับต้องไม่ได้
    Object เป็นองค์ประกอบสำาคัญของการ
เขียนโปรแกรมที่สามารถรับค่าและแสดงส่งค่า
ได้ และจากนิยาม Object คือตัวแทนของ
สิ่งของที่อยู่ในโลกของความเป็นจริง ซึ่งอาจ
เป็นสิงที่จับต้องได้หรือไม่ได้ จะต้องมี
      ่
คุณลักษณะ (Attribute) ที่บงบอกว่าเป็น
                               ่
Object ของอะไร และมีพฤติกรรม (Behavior)
1. identity คือ เอกลักษณ์เฉพาะตัวที่
ทำาให้ Object ของคลาสหนึ่งๆ แตกต่าง
จาก Object ของอีกหนึ่งคลาสหนึ่ง ซึ่ง
ในภาษาจาวา identity จะหมายถึง
Attribute หรือตัวแปร (Variable)
2. State คือสถานะของ Object ณ
เวลาหนึ่งๆ ซึ่งสามารถเปลี่ยนแปลงได้
เมื่อมีการกระตุ้นจาก Object อื่นโดย
การส่ง Message ในภาษาจาวา State
จะหมายถึงค่าของ Attribute (Value
of Attribute)
3. Behavior คือ พฤติกรรมที่ Object
กระทำาและตอบสนองทุกครั้ง โดยการก
ระตุ้น Object อื่นโดยการส่ง Message
ต่อกันในภาษาจาวา Behavior ก็คอ    ื
Encapsulation - การปิดบังข้อมูล เป็นวิธีการกำาหนด
 สิทธิในการเข้าถึงข้อมูล หรือการกระทำากับ อ็อบเจกต์
 ของ คลาสนันๆ ทำาให้แน่ใจได้ว่าข้อมูลของอ็อบเจกต์
              ้
 นันจะถูกเปลี่ยนแปลงแก้ไขผ่านทาง methods หรือ
   ้
             properties ทีอนุญาตเท่านั้น
                             ่
Inheritance - การสืบทอดคุณสมบัติ เป็นวิธีการสร้าง
 คลาสย่อย ทีเรียกว่าซับคลาส (subclass) ซึ่งจะเป็น
                ่
 กำาหนดประเภทของวัตถุให้จำาเพาะเจาะจงขึ้น ซึ่ง ซับ
  คลาส จะได้รับถ่ายทอดคุณสมบัติต่างๆมาจากคลาส
                         หลักด้วย
      Abstraction - นามธรรม เป็นการแสดงถึง
  คุณลักษณะและพฤติกรรมของ object เท่าทีจำาเป็น
                                             ่
 ต้องรับรู้และใช้งาน โดยซ่อนส่วนทีเหลือเอาไว้เพื่อไม่
                                     ่
                   ให้เกิดความสับสน
 Polymorphism - ภาวะทีมหลายรูปแบบ เป็นวิธีการ
                               ่ ี
 กำาหนดรูปแบบการกระทำาที่เหมือนกันแต่ได้ผลทีแตก  ่
  ต่างกัน เช่น การเปล่งเสียง เป็น method หลักของ
 คลาส สิ่งมีชีวิต ซึ่งมีคลาส มนุษย์ และคลาสสุนข เป็น
                                               ั
คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ

1) การห่อหุ้ม (Encapsulation)
   หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทำาได้
โดยการเรียกผ่านเมธอดเท่านั้น
    หลักการของการห่อหุ้ม คือการกำาหนดให้คุณลักษณะขอ
งอ๊อปเจ็คมีคุณสมบัติเป็น private และกำาหนดให้เมธอดมี
คุณสมบัติเป็น public โดยมีเมธอด get/set ไว้เพื่อเข้าถึง
data นั้นๆ จะเรียกว่า class นั้นๆ เป็น Full Encapsulation
class
2) การสืบทอด (Inheritance)
       หมายถึงการนิยามคลาสใหม่จากคลาสทีมี  ่
อยูแล้วโดยคลาสใหม่สามารถทีจะนำาคุณลักษณะ
   ่                          ่
และเมธอดของคลาสเดิมมาใช้ได้
       คือ Class หนึงๆสามารถสืบทอดคุณสมบัติ
                       ่
บางประการจาก Class อื่น แล้วเพิ่มคุณสมบัติ
เฉพาะของ Class นันเข้าไป
                     ้
- Class ทีได้รับการสืบทอดคุณสมบัติเรียกว่า
              ่
Subclasses
- Class ทีเป็นต้นแบบเรียกว่า Superclass
            ่
เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนทีซำ้าหลายๆ
                                 ่
รอบ (Reusable)
Class หนึ่งๆจะมี Superclass ได้เพียง Class
เดียวเท่านั้น (Single Inheritance)
ในภาษาจาวา จะใช้คียเวิร์ด extends เพือระบุ
                         ์             ่
หมายถึง การที่สามารถตอบสนองต่อข่าวสาร
 (เมธอด) เดียวกันด้วยวิธการที่ต่างกัน และ
                        ี
 สามารถกำาหนดออปเจ็คได้หลายรูปแบบ
- Overridden method
- Dynamic Binding
ตัวอย่างที่เน้นโปรแกรมแบบ OOP
1) Object แรกของ class มักชื่อ main
  โปรแกรมนี้สั้น และง่ายที่สุด
>> สร้างกล่อง 1 กล่องในกล่องมี object ทำางาน
 พิมพ์ x เพียงอักษรเดียว
>> มองว่า class ก็คือกล่อง แต่ละกล่องคือที่เก็บ
 object
  class x {
 public static void main(String args[]) {
   System.out.println("x");
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
ผูจัดทำา
                    ้
นาย นราธิป        โรจนสุว รพงค์         เลขที่ 1
  นาย อนพัช          บ่อ พลอย         เลขที่ 2
  นาย วุฒ ิภ ท ร เถื่อ นคำา
             ั                        เลขที่ 3
  นาย สุท ธิเ ดช ผิว อ่อ นดี          เลขที่ 8
   นาย ปัญ ญา        จัน ทยา        เลขที่ 11
นาย วิช า          มโนมัย เพิม พูน เลขที่ 13
                             ่
นายศิร ิว ัฒ น์   พุท ธอิน ทร์ศ ร     เลขที่ 14
            มัธ ยมศึก ษาปีท ี่ 6/2

Más contenido relacionado

La actualidad más candente

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นParn Nichakorn
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Thanachart Numnonda
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Thanachart Numnonda
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPKhon Kaen University
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]Khon Kaen University
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPornsitaintharak
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรมN'Name Phuthiphong
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรKomkai Pawuttanon
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นThanachart Numnonda
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีmycomc55
 
เขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนเขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนNuchy Suchanuch
 
2.Java fundamentals
2.Java fundamentals2.Java fundamentals
2.Java fundamentalsUsableLabs
 

La actualidad más candente (20)

บทที่ 8 Methods
บทที่ 8 Methodsบทที่ 8 Methods
บทที่ 8 Methods
 
METHODS
METHODSMETHODS
METHODS
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรม
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
 
4563456
45634564563456
4563456
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปร
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซี
 
เขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนเขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอน
 
2.Java fundamentals
2.Java fundamentals2.Java fundamentals
2.Java fundamentals
 

Destacado

Java Programming [6/12] : Object Oriented Java Programming
Java Programming [6/12] : Object Oriented Java ProgrammingJava Programming [6/12] : Object Oriented Java Programming
Java Programming [6/12] : Object Oriented Java ProgrammingIMC Institute
 
2D Graphics and Animations in Java World
2D Graphics and Animations in Java World2D Graphics and Animations in Java World
2D Graphics and Animations in Java Worldkunemata
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมThanachart Numnonda
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 

Destacado (6)

Java Programming [6/12] : Object Oriented Java Programming
Java Programming [6/12] : Object Oriented Java ProgrammingJava Programming [6/12] : Object Oriented Java Programming
Java Programming [6/12] : Object Oriented Java Programming
 
4.Oop
4.Oop4.Oop
4.Oop
 
2D Graphics and Animations in Java World
2D Graphics and Animations in Java World2D Graphics and Animations in Java World
2D Graphics and Animations in Java World
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 

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

Presentation 5
Presentation 5Presentation 5
Presentation 5kitkit1974
 
Presentation 5
Presentation 5Presentation 5
Presentation 5safdswqe
 
งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5Boss'Thanasit Tassana
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์Theeravaj Tum
 
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศบทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศSrion Janeprapapong
 
ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8Pumbaa Stk
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์miiztake
 
เทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศเทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศSrion Janeprapapong
 
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)Rank Saharath
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลOrapan Chamnan
 

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

Presentation 5
Presentation 5Presentation 5
Presentation 5
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5
 
Flex 101 ep-03
Flex 101 ep-03Flex 101 ep-03
Flex 101 ep-03
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์
 
4
44
4
 
K4
K4K4
K4
 
K4
K4K4
K4
 
03
0303
03
 
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศบทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
 
ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
 
03
0303
03
 
03
0303
03
 
เทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศเทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศ
 
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)
5กระบวนการวิทยาศาสตร์(สมเกียรติ วิชาการ)
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 

Más de Nookky Anapat

งานย่อยที่ 1
งานย่อยที่ 1งานย่อยที่ 1
งานย่อยที่ 1Nookky Anapat
 
งานย่อยที่ 1
งานย่อยที่ 1งานย่อยที่ 1
งานย่อยที่ 1Nookky Anapat
 
บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมNookky Anapat
 
งานย่อย 1
งานย่อย 1งานย่อย 1
งานย่อย 1Nookky Anapat
 
งานย อยท _ 1
งานย อยท _ 1งานย อยท _ 1
งานย อยท _ 1Nookky Anapat
 
ข่าวไอที
ข่าวไอทีข่าวไอที
ข่าวไอทีNookky Anapat
 
ข่าว It news
ข่าว It newsข่าว It news
ข่าว It newsNookky Anapat
 
Acer iconia tab a700
Acer iconia tab a700Acer iconia tab a700
Acer iconia tab a700Nookky Anapat
 
Acer iconia tab a700
Acer iconia tab a700Acer iconia tab a700
Acer iconia tab a700Nookky Anapat
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐาน
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐานบทที่ 2 การเขียนคำสั่งขั้นพื้นฐาน
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐานNookky Anapat
 

Más de Nookky Anapat (20)

งานย่อยที่ 1
งานย่อยที่ 1งานย่อยที่ 1
งานย่อยที่ 1
 
งานย่อยที่ 1
งานย่อยที่ 1งานย่อยที่ 1
งานย่อยที่ 1
 
Andriod
AndriodAndriod
Andriod
 
Class1
Class1Class1
Class1
 
Class
ClassClass
Class
 
บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรม
 
Intel
IntelIntel
Intel
 
ข่าว It
ข่าว Itข่าว It
ข่าว It
 
งานย่อย 1
งานย่อย 1งานย่อย 1
งานย่อย 1
 
ข่าว It
ข่าว Itข่าว It
ข่าว It
 
งานย อยท _ 1
งานย อยท _ 1งานย อยท _ 1
งานย อยท _ 1
 
ข่าวไอที
ข่าวไอทีข่าวไอที
ข่าวไอที
 
It news (1)
It news (1)It news (1)
It news (1)
 
ข าว+It
ข าว+Itข าว+It
ข าว+It
 
ข่าว It news
ข่าว It newsข่าว It news
ข่าว It news
 
งาน It
งาน Itงาน It
งาน It
 
Acer iconia tab a700
Acer iconia tab a700Acer iconia tab a700
Acer iconia tab a700
 
Acer iconia tab a700
Acer iconia tab a700Acer iconia tab a700
Acer iconia tab a700
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐาน
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐานบทที่ 2 การเขียนคำสั่งขั้นพื้นฐาน
บทที่ 2 การเขียนคำสั่งขั้นพื้นฐาน
 

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

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