SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
140-140 Object-Oriented Programming

      การโปรแกรมเชิงวัตถุ


     1. Introduction to Java

                Faculty of Technology and Environment
           Prince of Songkla University, Phuket Campus
                                              2/2551
Objectives
    วัตถุประสงค์
       เข้าใจความแตกต่างของ Structure Programming กับ OOP
       รู้จักเทคโนโลยีจาวา

       เข้าใจขั้นตอนการพัฒนาโปรแกรมด้วยภาษาจาวา

       เข้าใจโครงสร้างโปรแกรมภาษาจาวา

       เขียน คอมไพล์ และรันโปรแกรมจาวาง่าย ๆ ได้

       รู้จักข้อผิดพลาดในการเขียนโปรแกรม

       อธิบายข้อดีของภาษาจาวาได้




Object-Oriented Programming 2/2551                           2
Contents
  Structure programming VS Object-oriented programming
  Java programming language
  Java platform
  Java Development Kit
  Basic Java application
  How to compile and run program?
  Type of error




Object-Oriented Programming 2/2551                        3
Structure Programming VS OOP
    Structure programming - การโปรแกรมเชิงโครงสร้าง
       เขียนโปรแกรมโดยแตกระบบงานออกเป็นหน้าที่งานต่าง ๆ (function)
       การแก้ไขหรือข้อผิดพลาดอาจส่งผลกระทบต่อส่วนอื่น เพราะมีการใช้ข้อมูล
        บางอย่างร่วมกัน
       ตัวอย่างภาษาโปรแกรมเชิงโครงสร้าง ได้แก่ ภาษาซี ปาสคาล

    Object-oriented programming - การโปรแกรมเชิงวัตถุ
       เขียนโปรแกรมโดยแตกระบบออกเป็นวัตถุ โดยแทนวัตถุที่มีอยู่จริง
       วัตถุจะถูกกาหนดให้มีคุณสมบัติและพฤติกรรมเพื่อดาเนินงานต่างๆ

       ตัวอย่างภาษา OOP เช่น ภาษาจาวา C#



Object-Oriented Programming 2/2551                                           4
Structure Programming VS OOP
 ตัวอย่าง การแตกระบบลงทะเบียน
  Structure Programming             ข้อมูลที่สนใจ
                                     -รหัสนักศึกษา
       ลงทะเบียนเรียน               - ชื่อ สกุล
       ชาระเงิน                     -สาขาวิชา
       เพิ่มรายวิชา

    OOP                             พฤติกรรมในระบบ
       นักศึกษา
                                     - ลงทะเบียน
       ใบลงทะเบียน
                                     - เพิ่มวิชา
                                     -ชาระเงิน
       รายวิชา
       ใบเสร็จรับเงิน


Object-Oriented Programming 2/2551                    5
Structure Programming VS OOP
    OOP Benefits
       การวิเคราะห์ปัญหาใกล้เคียงกับการคิดของคนทั่วไป
       การแบ่งระบบเป็นวัตถุ ทาให้เป็นข้อมูลมีความเป็นอิสระ

       การ reuse ทาได้ง่ายกว่า Structure Programming พัฒนาโปรแกรมได้เร็ว

       แก้ไขและบารุงรักษาระบบได้ง่าย




Object-Oriented Programming 2/2551                                          6
Java Programming Language
    Programming languages คือ ภาษาที่ใช้ในการเขียนโปรแกรม
         โปรแกรมที่เขียนขึ้นสามารถนามาใช้งานได้ในคอมพิวเตอร์
    ภาษาจาวา เป็นภาษาการเขียนโปรแกรมระดับสูง
       พัฒนาโดยบริษัท Sun Microsystems (www.sun.com)
       เวอร์ชั่นแรกเริ่มใช้ในปี ค.ศ. 1996

       ปัจจุบันเวอร์ชั่น 6



                           ต้องถูกแปลให้เป็นภาษาเครื่องก่อน
                         จึงจะสามารถประมวลผลหรือทางานได้

Object-Oriented Programming 2/2551                              7
Java Platform
    Platform - hardware or software environment in which a program
     runs
       เป็นสภาพแวดล้อมหรือระบบที่โปรแกรมอาศัยทางาน
       อาจรวมทั้งฮาร์ดแวร์และซอฟต์แวร์ เช่น

          • Wintel platform หมายถึง คอมพิวเตอร์ที่ใช้ CPU Intel และ OS Windows
       อาจหมายถึงซอฟต์แวร์อย่างเดียว เช่น

          • ระบบปฏิบัติการ Windows, Linux, Unix, Mac OS
          • โปรแกรมที่เป็นสภาวะแวดล้อมในการพัฒนาซอฟต์แวร์อื่น ๆ (Integrated
            Development Environment : IDE) เช่น VB.Net, Eclipse, NetBean


Object-Oriented Programming 2/2551                                          8
Java Platform
  Java platform เป็นแพลตฟอร์มที่เป็นซอฟต์แวร์ ซึ่งสามารถรันโปรแกรม
   จาวา
  Java Development Kit (JDK) คือ ชุดพัฒนาโปรแกรมภาษาจาวา สามารถ
   download ได้ที่ http://java.sun.com
  JDK ประกอบด้วย                              Java
       ตัวแปลภาษาจาวา (Java compiler)
                                              Compiler   JDK
       สภาพแวดล้อมสาหรับรันโปรแกรมจาวา             JRE
        (Java Runtime Environment หรือ JRE)        API
          • JVM (Java Virtual Machine)             JVM
          • Java API (Library)
Object-Oriented Programming 2/2551                                9
http://java.sun.com/javase/technologies/index.jsp#overview




Object-Oriented Programming 2/2551                                                     10
Edition of Java
 Java platform แบ่งเป็น 3 ประเภทตามการใช้งาน ดังนี้
  Java Standard Edition (Java SE) สาหรับเขียนโปรแกรมทั่วไปและโปรแกรม
    ที่ทางานบนเว็บบราวเซอร์ทเี่ รียกว่า applet
  Java Enterprise Edition (Java EE) สาหรับเขียนโปรแกรมระดับองค์กร โดย
    เพิ่มความสามารถจาก Java SE เพื่อรองรับการทางานสาหรับการให้บริการใน
    ระบบขนาดใหญ่ได้
  Java Micro Edition (Java ME) เป็น platform สาหรับเขียนโปรแกรมบน
    อุปกรณ์อิเล็กทรอนิกส์เช่น โทรศัพท์มือถือ PDA


Object-Oriented Programming 2/2551                                11
From source code to running program



                                                Class files                   Running
Editor          Source file          Compiler                   Interpretor
                                                                              Program



                                                Library files




Object-Oriented Programming 2/2551                                              12
Java Compiler
    Compiler เป็นโปรแกรมทีใช้แปลภาษาระดับสูงเป็นภาษาเครื่องซึ่งเป็น
                             ่
     ชุดคาสั่งที่ CPU สามารถนาไปประมวลผลได้

    Java Compiler คือ ตัวแปลภาษาจาวา ทาหน้าที่แปลรหัสคาสั่งภาษาจาวา
     (source code) ให้เป็นชุดคาสั่งที่เรียกว่า bytecode

 Source code                        compiled by        Bytecode
   (file.java)                        Java compiler       (file.class)
                                       (javac.exe)
Object-Oriented Programming 2/2551                                     13
Write once, run anywhere (WORA)
  ปกติโปรแกรมภาษาอื่น ๆ เช่น ภาษาซี เมื่อถูกแปลจากเครื่องหนึ่งไม่
   สามารถนาไปใช้งานกับเครื่องที่ใช้ภาษาเครืองต่างกันได้
                                             ่
  (เครื่องที่มี CPU ต่างยี่ห้อกัน หรือใช้ระบบปฏิบติการต่างกัน)
                                                 ั
  bytecode ทาให้จาวาเป็นภาษาทีไม่ขึ้นกับระบบปฏิบติการ (platform-
                                      ่               ั
   independent)
         โปรแกรมที่เขียนด้วยภาษาจาวาสามารถนาไปประมวลผลบนระบบปฏิบัติการที่
          กันได้ เช่น Windows, Linux, Unix หรือใช้ CPU ต่างกัน เช่น Intel, AMD




Object-Oriented Programming 2/2551   Bytecode (file.class)                  14
Java Runtime Environment (JRE)
    Java Runtime Environment เป็นโปรแกรมที่ใช้ประมวลผล bytecode ประกอบด้วย
       Java Virtual Machine (JVM) หรือ โปรแกรมเครื่องจักรเสมือนจาวาสาหรับ
         ประมวลผล Bytecode ทาหน้าที่เป็น interpreter แปลไบต์โค้ดเป็นภาษาเครื่อง
         สาหรับระบบปฎิบัติการนั้น
       Library files (Java API-Application Programming Interface) คือ คลาสหลัก
         ของภาษาจาวา


        Bytecode                    interpreted by JRE      Program
      (file.class)                       (java.exe)
     Library Files
Object-Oriented Programming 2/2551                                           15
Java Runtime Environment (JRE)
  เครื่องคอมพิวเตอร์ที่ติดตั้ง JRE ไว้จะสามารถรันโปรแกรมที่เขียนด้วย
   ภาษาจาวาได้
  bytecode ทาหน้าที่เสมือนเป็นภาษาเครื่องสาหรับ JVM ทาให้สามารถนา
   bytecode ไปใช้งานในเครื่องที่มีการติดตั้ง JVM




Object-Oriented Programming 2/2551                                  16
Java Version
    Toolkit product version – Developer version
                              JDK 1- Java 1.1 (1996)
                             SDK 2 - Java 1.2-1.4 (2000)
                             SDK 5 - Java 1.5 (2004)
                             SDK 6 - Java 1.6

      JDK = Java Development Kit
      เป็นชุดพัฒนาโปรแกรมจาวา



Object-Oriented Programming 2/2551                          17
Basic Java Application
  JDK ประกอบด้วย Java Compiler และ Java Runtime Enviroment
  แต่ไม่มีโปรแกรมสาหรับเขียน java source code
  สามารถเขียนโปรแกรมจาวาได้โดยใช้ Text editor เช่น Notepad,
   EditPlus
  หรือใช้โปรแกรมที่มีเครื่องมืออานวยความสะดวกในการเขียนโปรแกรม
   ซึ่งเรียกว่า Integrated Development Environment(IDE) เช่น NetBeans
   และ Eclipse เป็นต้น



Object-Oriented Programming 2/2551                                 18
Basic Java Application
    องค์ประกอบหลักของโปรแกรมจาวา
       Class คือ ชิ้นส่วนของโปรแกรมที่เล็กที่สุดของภาษาจาวา
       แต่ละชิ้นส่วนสามารถนามาประกอบกันเพื่อสร้างเป็นโปรแกรมขนาดใหญ่ๆ ได้

       แต่ละคลาสประกอบด้วย method ซึ่งเป็นชุดของการดาเนินงาน

       แต่ละเมธอด ประกอบด้วยคาสั่งในการดาเนินงานต่าง ๆ (statement)
                         Class
                          Method1
                         Statement;
                          Method2
                         Statement;
                         Statement;
Object-Oriented Programming 2/2551                                      19
Ex. 1 Java application HelloWorld
                                  คาที่บอกว่าเป็นคลาส   ชื่อคลาส
                                                                        comments

                                                                   ไม่มี return type ชื่อเมธอด
class

method


                   คาสั่งให้แสดงผลไปยังจอภาพ             ข้อความที่แสดง          statement

 Object-Oriented Programming 2/2551                                                    20
Java Comment
    บรรทัดที่ 1,2 – เรียกว่า comments
         เป็นคาอธิบายโปรแกรม ไม่ถูกคอมไพล์เป็น bytecode ด้วย java compiler




    รูปแบบการเขียน comment
         บรรทัดเดียว ให้ใช้เครื่องหมาย // นาหน้า
             //……your comment……..
         หลายบรรทัด จะอยู่ภายในเครืองหมาย /*…………..*/
                                    ่
           /*…………your comment
             ……………………………………..….*/

Object-Oriented Programming 2/2551                                            21
Ex.1 Java application HelloWorld
    บรรทัดที่ 4 - ประกาศคลาส
       คาว่า class เป็นเหมือนตัวบอกถึงชิ้นส่วนของโปรแกรม
       รายละเอียดในแต่ละคลาสจะอยู่ภายในวงเล็บปีกกา class {………..}

       ภายในคลาสประกอบด้วยเมธอดได้หลายเมธอด

       คาว่า public ระบุให้คลาสอื่นทุกคลาสเรียกใช้งานคลาสนี้ได้

       HelloWord เป็นชื่อคลาส




Object-Oriented Programming 2/2551                                  22
Ex. 1 Java application HelloWorld
    บรรทัดที่ 6 - method signature
       main เป็นชื่อ method ในจาวา main() จะเป็นเมธอดแรกที่ถูกเรียกให้ทางาน
       แต่ละเมธอด มีคาสั่งอยู่ภายในวงเล็บปีกกา {………..}




    บรรทัดที่ 8 - statement
       เป็นคาสั่งในการพิมพ์ข้อความออกทางจอภาพ
       ในโปรแกรมมีได้หลายคาสั่ง แต่ละคาสั่งต้องจบด้วยเครื่องหมาย semicolon ;


Object-Oriented Programming 2/2551                                          23
Compile and Run program
    การ compile โปรแกรม
       เปิด command prompt และย้าย prompt ไปที่ folder ที่จัดเก็บโปรแกรม
       ทาการคอมไพล์โดยพิมพ์คาสั่ง

           javac HelloWorld.java
    การรันโปรแกรม
         พิมพ์คาสั่ง
           java HelloWorld
              ผลลัพธ์

Object-Oriented Programming 2/2551                                          24
Class with a main method
  ในจาวา ทางานด้วย class – การรันโปรแกรมคือ การรันคลาส
  การรันโปรแกรม เป็นการบอกให้ JVM ให้โหลดคลาส Hello ขึ้นมา
  จากนั้นทางานใน method main() ซึ่งจะทางานจนหมดคาสั่งใน main()




Object-Oriented Programming 2/2551                            25
Syntax Errors
    Syntax error หรือ Compile-time error
       Syntax error คือข้อผิดพลาดจากการฝ่าฝืนกฏหรือไวยากรณ์ของภาษา
       การตรวจสอบไวยากรณ์ว่าถูกต้องหรือไม่ จะเกิดขึ้นขณะคอมไพล์โปรแกรมโดย
        คอมไพเลอร์
       หากเราเขียนไม่ถูกต้อง คอมไพเลอร์จะแจ้งข้อผิดพลาดให้ทราบ และไม่สร้าง
        bytecode ให้
       เช่น จบคาสั่งโดยไม่มีเครื่องหมาย ; หรือ ใส่วงเล็บปีกกาไม่ครบ เป็นต้น

      ระวัง ตัวอักษรตัวใหญ่และตัวเล็กในภาษาจาวา ถือว่าเป็นคนละตัวกัน


Object-Oriented Programming 2/2551                                       26
Syntax Errors




                          Compile…..




Object-Oriented Programming 2/2551     27
Syntax Errors




                          Compile…..




Object-Oriented Programming 2/2551     28
Syntax Errors




                               Compile…..




Object-Oriented Programming 2/2551          29
Syntax Errors



                          Compile…..




Object-Oriented Programming 2/2551     30
Logic Errors
    Logic error หรือ Run-time error
       Logic error คือข้อผิดพลาดจากการที่โปรแกรมทางานไม่ตรงกับที่เราต้องการ
       โปรแกรมที่เขียนขึ้นถูกต้องตามหลักไวยากรณ์ของภาษาจาวา สามารถคอมไพล์
        ได้
       อาจสามารถรันโปรแกรมได้แต่ทางานได้ไม่ตรงกับที่เราคิดไว้ หรือทางานไม่ได้

       Programmer ต้องตรวจสอบข้อผิดพลาดนี้เอง ตัวอย่างเช่น

         • ไม่ใส่วงเล็บในการคานวณ
         • ลาดับคาสั่งผิด



Object-Oriented Programming 2/2551                                        31
Logic Errors




                                 Compile…..Run…..


    Exception คือ ข้อผิดพลาด

Object-Oriented Programming 2/2551                  32
Logic Errors




                                 Compile…..Run…..
                                     -5

       ต้องการให้ทาการคานวณตามลาดับคือ (10-3)*5 = 35
       แต่โปรแกรมคานวณให้คือ 10-(3x5) = -5

Object-Oriented Programming 2/2551                      33
ข้อดีของภาษาจาวา
       Write once, run anywhere
       Code security มีกลไกการตรวจสอบไบต์โค้ด (ฺBytecode verifier) ว่าต้องเป็นโค้ดที่
        ไม่ทาให้ระบบเสียหาย
       Exception มีกลไกให้โปรแกรมเมอร์จัดการข้อผิดพลาดที่เกิดขึ้นในการรัน
        โปรแกรม
       มี Garbage collection เป็นกลไกจัดการคืนพื้นที่ในหน่วยความจาอัตโนมัติ
        โปรแกรมเมอร์ไม่ต้องจัดการเอง
       มี library ให้ใช้มากมาย – database storage, cryptography, networking, GUI
       สนับสนุน OOP
       Free !!!
Object-Oriented Programming 2/2551                                                34
Summary
    Structure programming เน้นการแตกระบบเป็นฟังก์ชั่นการทางาน OOP เน้นการแตก
     ระบบเป็นวัตถุในระบบ
    Java Compiler แปลโปรแกรมที่เขียนด้วยภาษาระดับสูงเป็นภาษาเครื่องสาหรับ JVM
     เรียกว่า bytecode
    โครงสร้างโปรแกรมจาวาประกอบด้วย คลาส ภายในคลาสมีเมธอด แต่ละเมธอดมีคาสั่ง
    เมธอด main() เป็นเมธอดที่จะถูกเรียกให้ทางานตอนรันโปรแกรม
    Syntax error เกิดในขณะคอมไพล์จากข้อผิดพลาดจากการเขียนโปรแกรมผิด syntax
    Logic error เกิดขณะรันจากการที่โปรแกรมทางานได้ไม่ตรงกับที่ต้องการหรือรันไม่ได้




Object-Oriented Programming 2/2551                                          35

Weitere ähnliche Inhalte

Was ist angesagt?

Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsWongyos Keardsri
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptIMC Institute
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Wongyos Keardsri
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File OperationsWongyos Keardsri
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาJK133
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSarocha Makranit
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPp'dan Phuengkun
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุBoOm mm
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Thanachart Numnonda
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมThanachart Numnonda
 

Was ist angesagt? (19)

Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Java-Answer Chapter 12-13
Java-Answer Chapter 12-13Java-Answer Chapter 12-13
Java-Answer Chapter 12-13
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
66
6666
66
 
Java-Answer Chapter 05-06
Java-Answer Chapter 05-06Java-Answer Chapter 05-06
Java-Answer Chapter 05-06
 
Computer Programming 4
Computer Programming 4Computer Programming 4
Computer Programming 4
 
Lesson5
Lesson5Lesson5
Lesson5
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุ
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
 

Ähnlich wie 1.Introduction to java

Ähnlich wie 1.Introduction to java (20)

Java Programming [1/12] : Introduction
Java Programming [1/12] : IntroductionJava Programming [1/12] : Introduction
Java Programming [1/12] : Introduction
 
Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing concept
 
Eclipse
EclipseEclipse
Eclipse
 
Javacentrix com chap04-0
Javacentrix com chap04-0Javacentrix com chap04-0
Javacentrix com chap04-0
 
ภาษาJava
ภาษาJavaภาษาJava
ภาษาJava
 
Unit 2 Java Programming
Unit 2 Java ProgrammingUnit 2 Java Programming
Unit 2 Java Programming
 
Java Development Tools
Java Development ToolsJava Development Tools
Java Development Tools
 
Netbeans and Android Appliation
Netbeans and Android AppliationNetbeans and Android Appliation
Netbeans and Android Appliation
 
vb.net
vb.netvb.net
vb.net
 
Proposal
ProposalProposal
Proposal
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
01 intro
01 intro01 intro
01 intro
 
Powerpoint บทที่ 1
Powerpoint บทที่ 1Powerpoint บทที่ 1
Powerpoint บทที่ 1
 
Joomla CMS
Joomla CMSJoomla CMS
Joomla CMS
 
การเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeansการเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeans
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์
 
Activity 4
Activity 4Activity 4
Activity 4
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 

Mehr von UsableLabs

Vocabulary for portal
Vocabulary for portalVocabulary for portal
Vocabulary for portalUsableLabs
 
การจัดการความรู้
การจัดการความรู้การจัดการความรู้
การจัดการความรู้UsableLabs
 
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคการส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคUsableLabs
 
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดอาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดUsableLabs
 
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่UsableLabs
 
30 web (blog2book)
30 web (blog2book)30 web (blog2book)
30 web (blog2book)UsableLabs
 
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆUsableLabs
 
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำUsableLabs
 
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability UsableLabs
 
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนแนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนUsableLabs
 
correct_Portal manual
correct_Portal manual correct_Portal manual
correct_Portal manual UsableLabs
 
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาเทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาUsableLabs
 
Portal profile
Portal profilePortal profile
Portal profileUsableLabs
 
King's birthday
King's birthdayKing's birthday
King's birthdayUsableLabs
 
Portal manual (Original)
Portal manual (Original)Portal manual (Original)
Portal manual (Original)UsableLabs
 

Mehr von UsableLabs (20)

Vocabulary for portal
Vocabulary for portalVocabulary for portal
Vocabulary for portal
 
การจัดการความรู้
การจัดการความรู้การจัดการความรู้
การจัดการความรู้
 
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคการส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
 
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดอาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูด
 
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่
 
30 web (blog2book)
30 web (blog2book)30 web (blog2book)
30 web (blog2book)
 
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆ
 
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
 
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability
 
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนแนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมน
 
Health
HealthHealth
Health
 
Money
MoneyMoney
Money
 
correct_Portal manual
correct_Portal manual correct_Portal manual
correct_Portal manual
 
Lit
LitLit
Lit
 
Blog
BlogBlog
Blog
 
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาเทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษา
 
Portal profile
Portal profilePortal profile
Portal profile
 
Card sorting
Card sortingCard sorting
Card sorting
 
King's birthday
King's birthdayKing's birthday
King's birthday
 
Portal manual (Original)
Portal manual (Original)Portal manual (Original)
Portal manual (Original)
 

1.Introduction to java

  • 1. 140-140 Object-Oriented Programming การโปรแกรมเชิงวัตถุ 1. Introduction to Java Faculty of Technology and Environment Prince of Songkla University, Phuket Campus 2/2551
  • 2. Objectives  วัตถุประสงค์  เข้าใจความแตกต่างของ Structure Programming กับ OOP  รู้จักเทคโนโลยีจาวา  เข้าใจขั้นตอนการพัฒนาโปรแกรมด้วยภาษาจาวา  เข้าใจโครงสร้างโปรแกรมภาษาจาวา  เขียน คอมไพล์ และรันโปรแกรมจาวาง่าย ๆ ได้  รู้จักข้อผิดพลาดในการเขียนโปรแกรม  อธิบายข้อดีของภาษาจาวาได้ Object-Oriented Programming 2/2551 2
  • 3. Contents  Structure programming VS Object-oriented programming  Java programming language  Java platform  Java Development Kit  Basic Java application  How to compile and run program?  Type of error Object-Oriented Programming 2/2551 3
  • 4. Structure Programming VS OOP  Structure programming - การโปรแกรมเชิงโครงสร้าง  เขียนโปรแกรมโดยแตกระบบงานออกเป็นหน้าที่งานต่าง ๆ (function)  การแก้ไขหรือข้อผิดพลาดอาจส่งผลกระทบต่อส่วนอื่น เพราะมีการใช้ข้อมูล บางอย่างร่วมกัน  ตัวอย่างภาษาโปรแกรมเชิงโครงสร้าง ได้แก่ ภาษาซี ปาสคาล  Object-oriented programming - การโปรแกรมเชิงวัตถุ  เขียนโปรแกรมโดยแตกระบบออกเป็นวัตถุ โดยแทนวัตถุที่มีอยู่จริง  วัตถุจะถูกกาหนดให้มีคุณสมบัติและพฤติกรรมเพื่อดาเนินงานต่างๆ  ตัวอย่างภาษา OOP เช่น ภาษาจาวา C# Object-Oriented Programming 2/2551 4
  • 5. Structure Programming VS OOP ตัวอย่าง การแตกระบบลงทะเบียน  Structure Programming ข้อมูลที่สนใจ -รหัสนักศึกษา  ลงทะเบียนเรียน - ชื่อ สกุล  ชาระเงิน -สาขาวิชา  เพิ่มรายวิชา  OOP พฤติกรรมในระบบ  นักศึกษา - ลงทะเบียน  ใบลงทะเบียน - เพิ่มวิชา -ชาระเงิน  รายวิชา  ใบเสร็จรับเงิน Object-Oriented Programming 2/2551 5
  • 6. Structure Programming VS OOP  OOP Benefits  การวิเคราะห์ปัญหาใกล้เคียงกับการคิดของคนทั่วไป  การแบ่งระบบเป็นวัตถุ ทาให้เป็นข้อมูลมีความเป็นอิสระ  การ reuse ทาได้ง่ายกว่า Structure Programming พัฒนาโปรแกรมได้เร็ว  แก้ไขและบารุงรักษาระบบได้ง่าย Object-Oriented Programming 2/2551 6
  • 7. Java Programming Language  Programming languages คือ ภาษาที่ใช้ในการเขียนโปรแกรม  โปรแกรมที่เขียนขึ้นสามารถนามาใช้งานได้ในคอมพิวเตอร์  ภาษาจาวา เป็นภาษาการเขียนโปรแกรมระดับสูง  พัฒนาโดยบริษัท Sun Microsystems (www.sun.com)  เวอร์ชั่นแรกเริ่มใช้ในปี ค.ศ. 1996  ปัจจุบันเวอร์ชั่น 6 ต้องถูกแปลให้เป็นภาษาเครื่องก่อน จึงจะสามารถประมวลผลหรือทางานได้ Object-Oriented Programming 2/2551 7
  • 8. Java Platform  Platform - hardware or software environment in which a program runs  เป็นสภาพแวดล้อมหรือระบบที่โปรแกรมอาศัยทางาน  อาจรวมทั้งฮาร์ดแวร์และซอฟต์แวร์ เช่น • Wintel platform หมายถึง คอมพิวเตอร์ที่ใช้ CPU Intel และ OS Windows  อาจหมายถึงซอฟต์แวร์อย่างเดียว เช่น • ระบบปฏิบัติการ Windows, Linux, Unix, Mac OS • โปรแกรมที่เป็นสภาวะแวดล้อมในการพัฒนาซอฟต์แวร์อื่น ๆ (Integrated Development Environment : IDE) เช่น VB.Net, Eclipse, NetBean Object-Oriented Programming 2/2551 8
  • 9. Java Platform  Java platform เป็นแพลตฟอร์มที่เป็นซอฟต์แวร์ ซึ่งสามารถรันโปรแกรม จาวา  Java Development Kit (JDK) คือ ชุดพัฒนาโปรแกรมภาษาจาวา สามารถ download ได้ที่ http://java.sun.com  JDK ประกอบด้วย Java  ตัวแปลภาษาจาวา (Java compiler) Compiler JDK  สภาพแวดล้อมสาหรับรันโปรแกรมจาวา JRE (Java Runtime Environment หรือ JRE) API • JVM (Java Virtual Machine) JVM • Java API (Library) Object-Oriented Programming 2/2551 9
  • 11. Edition of Java Java platform แบ่งเป็น 3 ประเภทตามการใช้งาน ดังนี้  Java Standard Edition (Java SE) สาหรับเขียนโปรแกรมทั่วไปและโปรแกรม ที่ทางานบนเว็บบราวเซอร์ทเี่ รียกว่า applet  Java Enterprise Edition (Java EE) สาหรับเขียนโปรแกรมระดับองค์กร โดย เพิ่มความสามารถจาก Java SE เพื่อรองรับการทางานสาหรับการให้บริการใน ระบบขนาดใหญ่ได้  Java Micro Edition (Java ME) เป็น platform สาหรับเขียนโปรแกรมบน อุปกรณ์อิเล็กทรอนิกส์เช่น โทรศัพท์มือถือ PDA Object-Oriented Programming 2/2551 11
  • 12. From source code to running program Class files Running Editor Source file Compiler Interpretor Program Library files Object-Oriented Programming 2/2551 12
  • 13. Java Compiler  Compiler เป็นโปรแกรมทีใช้แปลภาษาระดับสูงเป็นภาษาเครื่องซึ่งเป็น ่ ชุดคาสั่งที่ CPU สามารถนาไปประมวลผลได้  Java Compiler คือ ตัวแปลภาษาจาวา ทาหน้าที่แปลรหัสคาสั่งภาษาจาวา (source code) ให้เป็นชุดคาสั่งที่เรียกว่า bytecode Source code  compiled by  Bytecode (file.java) Java compiler (file.class) (javac.exe) Object-Oriented Programming 2/2551 13
  • 14. Write once, run anywhere (WORA)  ปกติโปรแกรมภาษาอื่น ๆ เช่น ภาษาซี เมื่อถูกแปลจากเครื่องหนึ่งไม่ สามารถนาไปใช้งานกับเครื่องที่ใช้ภาษาเครืองต่างกันได้ ่ (เครื่องที่มี CPU ต่างยี่ห้อกัน หรือใช้ระบบปฏิบติการต่างกัน) ั  bytecode ทาให้จาวาเป็นภาษาทีไม่ขึ้นกับระบบปฏิบติการ (platform- ่ ั independent)  โปรแกรมที่เขียนด้วยภาษาจาวาสามารถนาไปประมวลผลบนระบบปฏิบัติการที่ กันได้ เช่น Windows, Linux, Unix หรือใช้ CPU ต่างกัน เช่น Intel, AMD Object-Oriented Programming 2/2551 Bytecode (file.class) 14
  • 15. Java Runtime Environment (JRE)  Java Runtime Environment เป็นโปรแกรมที่ใช้ประมวลผล bytecode ประกอบด้วย  Java Virtual Machine (JVM) หรือ โปรแกรมเครื่องจักรเสมือนจาวาสาหรับ ประมวลผล Bytecode ทาหน้าที่เป็น interpreter แปลไบต์โค้ดเป็นภาษาเครื่อง สาหรับระบบปฎิบัติการนั้น  Library files (Java API-Application Programming Interface) คือ คลาสหลัก ของภาษาจาวา Bytecode  interpreted by JRE  Program (file.class) (java.exe) Library Files Object-Oriented Programming 2/2551 15
  • 16. Java Runtime Environment (JRE)  เครื่องคอมพิวเตอร์ที่ติดตั้ง JRE ไว้จะสามารถรันโปรแกรมที่เขียนด้วย ภาษาจาวาได้  bytecode ทาหน้าที่เสมือนเป็นภาษาเครื่องสาหรับ JVM ทาให้สามารถนา bytecode ไปใช้งานในเครื่องที่มีการติดตั้ง JVM Object-Oriented Programming 2/2551 16
  • 17. Java Version  Toolkit product version – Developer version  JDK 1- Java 1.1 (1996)  SDK 2 - Java 1.2-1.4 (2000)  SDK 5 - Java 1.5 (2004)  SDK 6 - Java 1.6 JDK = Java Development Kit เป็นชุดพัฒนาโปรแกรมจาวา Object-Oriented Programming 2/2551 17
  • 18. Basic Java Application  JDK ประกอบด้วย Java Compiler และ Java Runtime Enviroment แต่ไม่มีโปรแกรมสาหรับเขียน java source code  สามารถเขียนโปรแกรมจาวาได้โดยใช้ Text editor เช่น Notepad, EditPlus  หรือใช้โปรแกรมที่มีเครื่องมืออานวยความสะดวกในการเขียนโปรแกรม ซึ่งเรียกว่า Integrated Development Environment(IDE) เช่น NetBeans และ Eclipse เป็นต้น Object-Oriented Programming 2/2551 18
  • 19. Basic Java Application  องค์ประกอบหลักของโปรแกรมจาวา  Class คือ ชิ้นส่วนของโปรแกรมที่เล็กที่สุดของภาษาจาวา  แต่ละชิ้นส่วนสามารถนามาประกอบกันเพื่อสร้างเป็นโปรแกรมขนาดใหญ่ๆ ได้  แต่ละคลาสประกอบด้วย method ซึ่งเป็นชุดของการดาเนินงาน  แต่ละเมธอด ประกอบด้วยคาสั่งในการดาเนินงานต่าง ๆ (statement) Class Method1 Statement; Method2 Statement; Statement; Object-Oriented Programming 2/2551 19
  • 20. Ex. 1 Java application HelloWorld คาที่บอกว่าเป็นคลาส ชื่อคลาส comments ไม่มี return type ชื่อเมธอด class method คาสั่งให้แสดงผลไปยังจอภาพ ข้อความที่แสดง statement Object-Oriented Programming 2/2551 20
  • 21. Java Comment  บรรทัดที่ 1,2 – เรียกว่า comments  เป็นคาอธิบายโปรแกรม ไม่ถูกคอมไพล์เป็น bytecode ด้วย java compiler  รูปแบบการเขียน comment  บรรทัดเดียว ให้ใช้เครื่องหมาย // นาหน้า //……your comment……..  หลายบรรทัด จะอยู่ภายในเครืองหมาย /*…………..*/ ่ /*…………your comment ……………………………………..….*/ Object-Oriented Programming 2/2551 21
  • 22. Ex.1 Java application HelloWorld  บรรทัดที่ 4 - ประกาศคลาส  คาว่า class เป็นเหมือนตัวบอกถึงชิ้นส่วนของโปรแกรม  รายละเอียดในแต่ละคลาสจะอยู่ภายในวงเล็บปีกกา class {………..}  ภายในคลาสประกอบด้วยเมธอดได้หลายเมธอด  คาว่า public ระบุให้คลาสอื่นทุกคลาสเรียกใช้งานคลาสนี้ได้  HelloWord เป็นชื่อคลาส Object-Oriented Programming 2/2551 22
  • 23. Ex. 1 Java application HelloWorld  บรรทัดที่ 6 - method signature  main เป็นชื่อ method ในจาวา main() จะเป็นเมธอดแรกที่ถูกเรียกให้ทางาน  แต่ละเมธอด มีคาสั่งอยู่ภายในวงเล็บปีกกา {………..}  บรรทัดที่ 8 - statement  เป็นคาสั่งในการพิมพ์ข้อความออกทางจอภาพ  ในโปรแกรมมีได้หลายคาสั่ง แต่ละคาสั่งต้องจบด้วยเครื่องหมาย semicolon ; Object-Oriented Programming 2/2551 23
  • 24. Compile and Run program  การ compile โปรแกรม  เปิด command prompt และย้าย prompt ไปที่ folder ที่จัดเก็บโปรแกรม  ทาการคอมไพล์โดยพิมพ์คาสั่ง javac HelloWorld.java  การรันโปรแกรม  พิมพ์คาสั่ง java HelloWorld ผลลัพธ์ Object-Oriented Programming 2/2551 24
  • 25. Class with a main method  ในจาวา ทางานด้วย class – การรันโปรแกรมคือ การรันคลาส  การรันโปรแกรม เป็นการบอกให้ JVM ให้โหลดคลาส Hello ขึ้นมา  จากนั้นทางานใน method main() ซึ่งจะทางานจนหมดคาสั่งใน main() Object-Oriented Programming 2/2551 25
  • 26. Syntax Errors  Syntax error หรือ Compile-time error  Syntax error คือข้อผิดพลาดจากการฝ่าฝืนกฏหรือไวยากรณ์ของภาษา  การตรวจสอบไวยากรณ์ว่าถูกต้องหรือไม่ จะเกิดขึ้นขณะคอมไพล์โปรแกรมโดย คอมไพเลอร์  หากเราเขียนไม่ถูกต้อง คอมไพเลอร์จะแจ้งข้อผิดพลาดให้ทราบ และไม่สร้าง bytecode ให้  เช่น จบคาสั่งโดยไม่มีเครื่องหมาย ; หรือ ใส่วงเล็บปีกกาไม่ครบ เป็นต้น ระวัง ตัวอักษรตัวใหญ่และตัวเล็กในภาษาจาวา ถือว่าเป็นคนละตัวกัน Object-Oriented Programming 2/2551 26
  • 27. Syntax Errors Compile….. Object-Oriented Programming 2/2551 27
  • 28. Syntax Errors Compile….. Object-Oriented Programming 2/2551 28
  • 29. Syntax Errors Compile….. Object-Oriented Programming 2/2551 29
  • 30. Syntax Errors Compile….. Object-Oriented Programming 2/2551 30
  • 31. Logic Errors  Logic error หรือ Run-time error  Logic error คือข้อผิดพลาดจากการที่โปรแกรมทางานไม่ตรงกับที่เราต้องการ  โปรแกรมที่เขียนขึ้นถูกต้องตามหลักไวยากรณ์ของภาษาจาวา สามารถคอมไพล์ ได้  อาจสามารถรันโปรแกรมได้แต่ทางานได้ไม่ตรงกับที่เราคิดไว้ หรือทางานไม่ได้  Programmer ต้องตรวจสอบข้อผิดพลาดนี้เอง ตัวอย่างเช่น • ไม่ใส่วงเล็บในการคานวณ • ลาดับคาสั่งผิด Object-Oriented Programming 2/2551 31
  • 32. Logic Errors Compile…..Run…..  Exception คือ ข้อผิดพลาด Object-Oriented Programming 2/2551 32
  • 33. Logic Errors Compile…..Run….. -5  ต้องการให้ทาการคานวณตามลาดับคือ (10-3)*5 = 35  แต่โปรแกรมคานวณให้คือ 10-(3x5) = -5 Object-Oriented Programming 2/2551 33
  • 34. ข้อดีของภาษาจาวา  Write once, run anywhere  Code security มีกลไกการตรวจสอบไบต์โค้ด (ฺBytecode verifier) ว่าต้องเป็นโค้ดที่ ไม่ทาให้ระบบเสียหาย  Exception มีกลไกให้โปรแกรมเมอร์จัดการข้อผิดพลาดที่เกิดขึ้นในการรัน โปรแกรม  มี Garbage collection เป็นกลไกจัดการคืนพื้นที่ในหน่วยความจาอัตโนมัติ โปรแกรมเมอร์ไม่ต้องจัดการเอง  มี library ให้ใช้มากมาย – database storage, cryptography, networking, GUI  สนับสนุน OOP  Free !!! Object-Oriented Programming 2/2551 34
  • 35. Summary  Structure programming เน้นการแตกระบบเป็นฟังก์ชั่นการทางาน OOP เน้นการแตก ระบบเป็นวัตถุในระบบ  Java Compiler แปลโปรแกรมที่เขียนด้วยภาษาระดับสูงเป็นภาษาเครื่องสาหรับ JVM เรียกว่า bytecode  โครงสร้างโปรแกรมจาวาประกอบด้วย คลาส ภายในคลาสมีเมธอด แต่ละเมธอดมีคาสั่ง  เมธอด main() เป็นเมธอดที่จะถูกเรียกให้ทางานตอนรันโปรแกรม  Syntax error เกิดในขณะคอมไพล์จากข้อผิดพลาดจากการเขียนโปรแกรมผิด syntax  Logic error เกิดขณะรันจากการที่โปรแกรมทางานได้ไม่ตรงกับที่ต้องการหรือรันไม่ได้ Object-Oriented Programming 2/2551 35