INT2104
Download
1 / 102

INT2104 การพัฒนาโปรแกรมเชิงวัตถุ (Object Oriented Programming Development) - PowerPoint PPT Presentation


  • 145 Views
  • Uploaded on

INT2104 การพัฒนาโปรแกรมเชิงวัตถุ (Object Oriented Programming Development). www.thawatchai.net/int2104. ธวัฒน์ชัย ศิลังค์ประชา. แนวการสอน.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' INT2104 การพัฒนาโปรแกรมเชิงวัตถุ (Object Oriented Programming Development)' - farren


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

INT2104

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

(Object Oriented Programming Development)

www.thawatchai.net/int2104

ธวัฒน์ชัย ศิลังค์ประชา


แนวการสอน

  • ศึกษาแนวคิดหลักการเชิงวัตถุ( Introduction to Object-oriented) การจำลองสรรพสิ่งด้วยเทคนิคเชิงวัตถุ ความหมายวัตถุ(object)คลาส(class)กระบวนการ(Method)

  • วิธีกำหนดข้อมูลในรูปแบบต่างๆ การใช้คำสั่งต่าง ๆ


แนวการสอน

  • การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน ( Control Structures)การตัดสินใจ การวนรอบทำงานซ้ำ สตริง (String) อะเรย (Array)

  • การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใชงาน การใชงานไดหลายรูปแบบ(Polymorphism) การเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น


แผนการเรียน

  • วัตถุประสงค์

    เพื่อให้ผู้เรียน มีความรู้ ทักษะ เกี่ยวกับ ศึกษาแนวคิดเกี่ยวกับหลักการเชิงวัตถุ( Introduction to Object-oriented ) การจำลองสรรพสิ่งด้วยเทคนิคเชิงวัตถุ ความหมายวัตถุ(object) คลาส(class) กระบวนการ(Method) เอนแคปชูเลชั่นการถ่ายทอดคุณสมบัติ กรรมวิธีโพลีมอร์ฟิซึม เทคโนโลยีจาวา


วัตถุประสงค์

  • การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา (Object Programming with Java)

  • โครงสร้างของโปรแกรมจาวา วิธีกำหนดข้อมูลในรูปแบบต่างๆ การใช้คำสั่งต่าง ๆ การรับและแสดงผลข้อมูล โครงสร้างควบคุมการทำงาน (ControlStructures)


วัตถุประสงค์

  • การตัดสินใจ การวนรอบทำงานซ้ำ การประมวลผลแบบสตริง (String)และอะเรย (Array) การเขียนโปรแกรมเชิงวัตถุในการสืบทอด การนําคลาสมาใชงาน

  • การใชงานไดหลายรูปแบบ(Polymorphism) การสร้าง packageใช้งานการเขียนโปรแกรมเชื่อมโยงติดต่อฐานข้อมูล(MySQL)เบื้องต้น


เอกสารการเรียน

  • รายชื่อหนังสือและเอกสารประกอบการบรรยาย

  • ตำราหลัก

    Objects First with Java David Barnes & Michael Kolling 2009

    เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2

    ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2550

  • 2.Computing Concepts with Java Essentials 3rd,Cay Horstmann @John Wiley& Sons,Inc ISBN 0-471-24371-x


แผนการเรียน (ต่อ)

  • ตำราประกอบตำราประกอบ

    1.เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2

    ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2550

    2.เรียนรู้โครงสร้างข้อมูลและอัลกอริทึมด้วย JAVA (ฉบับปรับปรุง)

    ผู้แต่ง/แปล : เนรมิตร ชุมสาย ณ อยุธยา

    3.Java GUI using NetBeans วรเศรษฐ สุวรรณิก และคณะ,2551

    4.เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา อ.ธวัฒน์ชัย ศิลังค์ประชา 2551


เอกสารและข้อมูลสำคัญ

  • เอกสารและข้อมูลสำคัญ

  • 1.เขียนโปรแกรม JAVA เบื้องต้น พิมพ์ครั้งที่ 2

  • ผู้แต่ง/แปล : วรเศรษฐ สุวรรณิก และคณะ,2552

  • 2 .เรียนรู้โครงสร้างข้อมูลและอัลกอริทึมด้วย JAVA (ฉบับปรับปรุง)

  • ผู้แต่ง/แปล : เนรมิตร ชุมสาย ณ อยุธยา

  • 4.Java GUI using NetBeans วรเศรษฐ สุวรรณิก และคณะ,2553

  • 5.เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมเชิงวัตถุด้วยภาษาจาวา .ธวัฒน์ชัย ศิลังค์ประชา 2554

  • 6.http://www.thawatchai.net/int2104.


วิธีการวัดผลและประเมินผล

สอบย่อย สอบทั้งหมด 5 ครั้งๆ 5 คะแนนเป็น 15 คะแนน ขาดสอบ = 0

Midterm สอบกลางภาค 30 คะแนน

งาน-ภาคปฎิบัติ 20 คะแนน งานเดี่ยว

เวลาเรียน 5 คะแนน

Final 30 คะแนน

รวม 100 คะแนน


ครั้งที่ 1

แนะนำ Java

  • ความเป็นมาของจาวา, แนวคิดของ "write once, run anywhere"

  • คุณสมบัติของภาษา Java

  • การรักษาความปลอดภัย

  • Java กับ World Wide Web

  • ขั้นของการศึกษาจาวา



Object
Object

  • การมองเห็นสิ่งต่างๆเป็นวัตถุเป็นการมองที่เป็นธรรมชาติของมนุษย์ ภาพที่เราเห็นจะถูกแยกออกเป็นวัตถุต่างๆโดยอัตโนมัติ

  • ยกตัวอย่าง เช่น เมื่อเรามองไปที่โต๊ะทำงาน สมองของเราจะแยกส่วนต่างๆของภาพโต๊ะทำงานออกเป็น ปากกา, กระดาษ, แฟ้ม, ลิ้นชัก, โต๊ะ ฯลฯ


Object1
Object

  • หรือเมื่อเราอยู่ในร้านอาหาร เราอาจจะเห็นบริกร, พนักงานเก็บสตางค์, พนักงานเข็นรถอาหาร เป็นต้น

  • บริกรทำหน้าที่รับออเดอร์จากลูกค้า, พนักงานเก็บสตางค์มีหน้าที่เก็บเงินและทอนสตางค์


Object

  • เมื่อเรานึกถึงชื่อของวัตถุหรืออาชีพของคน เรามักจะคิดถึง

    คุณสมบัติ(Attribute)และความสามารถ ของวัตถุหรือคนเหล่านั้นขึ้นมาพร้อมๆกัน


Object

  • เช่น เมื่อเรานึกถึงปากกา เราก็รู้ว่ามันมีสีอะไรและมันสามารถใช้เขียนได้


  • และเมื่อเราต้องการทำอะไรบางอย่าง เราจะหาวัตถุหรือคนที่สามารถช่วยเราทำงานได้ เช่น ถ้าเราต้องการเขียน เราก็จะหาปากกาและกระดาษ,

    หรือถ้าเราต้องการอาหาร เราก็เรียกบริกรเข้ามารับออเดอร์ เราไม่จำเป็นต้องทราบการทำงานของปากกาว่ามันจ่ายหมึกออกมาได้อย่างไร

  • เหมือนกับที่เราไม่จำเป็นต้องทราบว่าเมื่อ บริกรรับออเดอร์จากเราไปแล้วเขาจะไปบอกพ่อครัวอย่างไร เราทราบแต่ว่าเมื่อเราตวัดปลายปากกา หมึกจะออกมา และเมื่อเราสั่งอาหาร เราก็(มัก)จะได้อาหารตามที่เราสั่งเสมอ



Object class
Object & Class เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

Object

Object-Program

Object:Real-world


Anatomy of an object 1
Anatomy of an Object(1) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

  • An object is an abstraction and has an identity

  • An object has a name (which may or may not be unique)

  • An object is anything exhibits structure and behavior

    - Structure

    Attribute that define the object’s properties

    Each attribute takes on a single value for a given object

    - Behavior

    Operations performed on or by an object

    Each operation is implemented via a method

    Object can be related or linked to other objects


Anatomy of an object 2
Anatomy of an Object เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย(2)


Object concept
Object Concept เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

  • Things

    Tangible Things =>Physical Things

    Intangible Things

    บทบาท(Tole) (อาจารย์ พนักงาน ผู้ป่วย)

    สิ่งอุบัติขึ้น(Incident) หรือ Event ต่างๆ เที่ยวบินฯ

    การโต้ตอบ(Interaction) (ตั้งแต่ 2 Object(ผู้ซื้อ-ขาย))


1. เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคยสิ่งที่เป็นรูปธรรม(จับต้องได้)

Object

Tangible Things

สิ่งที่จับต้องได้ เช่น สินค้า,ลูกค้า


  • Intangible Things เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

  • บทบาท(Tole) (อาจารย์ พนักงาน ผู้ป่วย)

  • สิ่งอุบัติขึ้น(Incident) หรือ Event ต่างๆ เที่ยวบินฯ

  • การโต้ตอบ(Interaction) (ตั้งแต่ 2 Object(ผู้ซื้อ-ผู้ขาย))

    • เที่ยวบิน

    • การวิ่ง

    • แสง

    • ความเป็นเจ้าของ

    2.สิ่งที่เป็นนามธรรม(จับต้องไม่ได้)

    Object


    Object concepts
    Object Concepts เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • Object = a “thing” that’s a member of a class

      • Examples …

      • Dwell here a while CLASS vs. OBJECT

    • Objects contain attributes + behaviors

    • Organization

      • Generalization/specialization hierarchies

      • Whole/part hierarchies


    Object class cont
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Person

    (Person)

    John Chan

    Person

    Mary Lee

    Person

    Nelson Sze

    Class

    Objects


    Object class cont1
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • Attribute:

      • An observable property of objects in a class

      • Each object in the class has a value for each attribute

      • The value may or may not be unique for an individual object


    Object class cont2
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Person

    (Person)

    John Chan

    30

    Person

    Mary Lee

    24

    Person

    Nelson Sze

    60

    Name: String

    Age: int

    Class with attributes

    Objects


    Object class cont3
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • Operation

      • A function or transformation that may be applied to or by an object in a class; e.g. Debit, Credit

      • All objects in a class share the same operations

      • Each operation has the current object as an implicit argument


    Object class cont4
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • Method - The implementation of an operation in a class

    • Query - An operation which merely computes a value without modifying any object


    Object class cont5
    Object & Class (Cont.) เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Person

    Name

    Age

    Attributes

    Change Job

    Change Address

    Get Address

    Get Job

    Operations


    Class and object
    Class and Object เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Employee

    Employee

    Employee

    name:String

    name=‘Smith’

    name=‘Sharp’

    age=24

    age=52

    age:Integer

    Class Employee

    Objects instantiated from

    the class Employee


    Representing objects

    Professor Clark เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Representing Objects

    • An object is represented as rectangles with underlined names

    : Professor

    a + b = 10

    a + b = 10

    ProfessorClark

    Class Name Only

    ProfessorClark :

    Professor

    Object Name Only

    Class and Object Name

    (stay tuned for classes)


    What is a class
    What is a Class? เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics

      • An object is an instance of a class

    • A class is an abstraction in that it:

      • Emphasizes relevant characteristics

      • Suppresses other characteristics

    OO Principle: Abstraction


    Sample class
    Sample Class เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Class

    Course

    Properties

    Name

    Location

    Days offered

    Credit hours

    Start time

    End time

    Behavior

    Add a student

    Delete a student

    Get course roster

    Determine if it is full

    a + b = 10


    Representing classes
    Representing Classes เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • A class is represented using a compartmented rectangle

    a + b = 10

    Professor

    Professor Clark


    Representing classes in the uml
    Representing Classes in the UML เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    • A class is represented using a rectangle with compartments.

    Professor J Clark


    The relationship between classes and objects

    Professor Smith เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Professor Mellon

    Professor Jones

    The Relationship Between Classes and Objects

    • A class is an abstract definition of an object

      • It defines the structure and behavior of each object in the class

      • It serves as a template for creating objects

    • Objects are grouped into classes

    Objects

    Class

    Professor


    Basic principles of object technology

    Object Technology เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    Abstraction

    Encapsulation

    Modularity

    Hierarchy

    Basic Principles of Object Technology

    จะกล่าวในรายละเอียดอีกครั้งเมื่อศึกษาถึงเรื่องต่างๆ เหล่านี้ภายหลัง


    About the java technology
    About the Java Technology เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย.?


    Write once run anywhere
    Write once, run anywhere เนื่องจากการแก้ปัญหาจะทำได้ง่ายขึ้นเมื่อถูกเปลี่ยนให้อยู่ในมุมมองที่คุ้นเคย

    "ถนนทุกสายมุ่งสู่ โลกอินเตอร์เนต เครื่องหลากหลาย ระบบปฏิบัติการต่างกัน"

    เราต้องการซอฟท์แวร์ที่ ..

    Consistently : แน่นอน ทำงานได้เหมือนกันในทุกที่

    Anywhere on any platform : รันได้หลายที่ ในหลายระบบปฏิบัติการ

    Reliability : น่าเชื่อถือ

    Security : ปลอดภัย

    Low Risk: ความเสี่ยงต่ำ ไม่อันตราย

    เลือกใช้อะไรภาษาอะไรดี

    C++, JAVA, Small Talk, Object Pascal,VBasic ??? We choose "JAVA".


    Java technology is both a programming language and a platform
    Java technology is both a programming language and a platform.

    About the Java Technology .?

    Java Platforms

    A platform is the hardware or software environment in which a program runs.


    A virtual machine
    A Virtual Machine platform

    • ภาษาจาวาเป็นทั้ง Compiler และ Interpreter

    Compiler : ต้อง Compile ก่อนการใช้งาน แต่ Compile เป็น ByteCode

    Interpreter : การรันโปรแกรมจาวา ByteCode ของจาวาจะถูก Load

    เมื่อมีการเรียกใช้เท่านั้น คำสั่งใน ByteCode จะถูกแปลอีกครั้งในขั้นตอนการรัน


    Byte code and java virtual machine

    Binary platform

    File

    Source

    Code

    Binary

    File

    Pentium

    Compiler(Pentium)

    Binary

    File

    PowerPC

    Compiler(PowerPC)

    SPARC

    Compiler(SPARC)

    Byte Code and Java Virtual Machine

    • Existing Development Environment

    %cc Hello.c –o Hello

    % Hello

    Binary Code

    Run


    Bytecodes and the java virtual machine

    Java platform

    Interpreter

    Java

    Code

    Java Compiler

    (Pentium)

    Pentium

    Java

    ByteCode

    (Independent on

    Platform)

    Java

    Interpreter

    Java Compiler

    (PowerPC)

    PowerPC

    Java

    Interpreter

    SPARC

    Java Compiler

    (SPARC)

    Bytecodes and the Java Virtual Machine

    • Java Development Environment

    %javac Hello.java

    Hello.class created

    % java Hello

    JVM

    Byte Code

    Run



    Java is cross platform1

  • Source Code

  • Java Bytecode

    JIT Compiler

    or Interpreter

    Compiler

    (javac)

    Execution

    Java Bytecode

    Java is Cross-Platform?

    • Truth: Java programs can compile to machine-independent bytecode

    • Truth: All major operating systems have Java runtime environments

      • Most bundle it (Solaris, MacOS, Windows 2k, OS/2)

    Compile Time

    Run Time


    Java platforms
    Java Platforms platform

    • สามารถทำงานบน OS และ Platform ที่ต่างๆ กันได้ โดยไม่ต้อง Compile ใหม่ (Write One - Run Anywhere)

    • สามารถรันบน Web Page

    • สามารถรันบนอุปกรณ์ที่มี Java Virtual Machine เช่น โทรศัพท์มือถือ หุ่นยนต์


    องค์ประกอบเทคโนโลยีจาวาองค์ประกอบเทคโนโลยีจาวา(Java Technology?)

    1. Java Virtual Machine (JVM)

    2. Java Runtime Environment (JRE)

    3. Java 2 Software Developer Kit (J2SDK)


    1 java virtual machine jvm
    1. Java Virtual Machine (JVM)องค์ประกอบเทคโนโลยีจาวา

    เป็นส่วนที่ทำหน้าที่เป็นตัวอินเตอร์พรีเตอร์ (interpreter)– เป็นส่วนที่ทำหน้าที่เป็นตัวอินเตอร์พรีเตอร์ (interpreter) คือ จะทำการแปลจาวาไบต์โค้ด ให้เป็นภาษาเครื่องเข้าใจ– จาวาไบต์โค้ดสามารถรันได้หลายแพลตฟอร์ม ถ้าแพลตฟอร์มนั้นมี JVM


    2 java runtime environment jre
    2.องค์ประกอบเทคโนโลยีจาวาJava Runtime Environment (JRE)

    • – โหลดไบต์โค้ดโดยใช้ Class loader

    • – ตรวจสอบไบต์โค้ดโดยใช้ Bytecode Verifier

    • – รันไบต์โค้ดโดยใช้ Runtime Interpreter

    • เป็นส่วนที่ใช้ในการรันโปรแกรม โดยจะทำงาน 3 ขั้นตอน ดังนี้


    3 java 2 software developer kit j2sdk
    3. Java 2 Software Developer Kit (J2SDK)องค์ประกอบเทคโนโลยีจาวา

    • เป็นชุดพัฒนาโปรแกรมภาษาจาวา ประกอบไปด้วยโปรแกรมต่างๆ แต่ไม่มีโปรแกรม Editor รวมอยู่ด้วย อย่างเช่น

      • โปรแกรมคอมไพเลอร์ (javac.exe)

      • โปรแกรมอินเตอร์พรีเตอร์ (java.exe)


    2 platform of java 2
    แพลตฟอร์มของจาวา 2 (Platform of Java 2)

    Java 2 Platform, Enterprise Edition (J2EE)

    Java 2 Platform, Standard Edition (J2SE)

    Java 2 Platform, Micro Edition (J2ME)


    Java 2 platform standard edition j2se
    Java 2 Platform, Standard Edition of Java 2)(J2SE)

    • เป็นแพลตฟอร์มที่ใช้ในการพัฒนาโปรแกรม

    • ภาษาจาวากับเครื่องพีซีทั่วไป ประกอบด้วย Java Application (โปรแกรมใช้งานทั่วไป) และ

    • Java Applet (โปรแกรมจาวาที่รันบนบราวเซอร์เช่น IE)


    Java application
    Java Application of Java 2)(การประมวลผล)

    Class …

    {

    }

    Byte code

    Byte code

    Byte code

    Byte code

    Java.exe

    Javac.exe

    compile

    โหลด

    Byte code file

    (.class)

    Source code

    (.java)

    Windows

    Unix

    Linux

    JVM

    JVM

    JVM


    Java applete
    Java Applete of Java 2)(การประมวลผล )

    Java app

    applets

    Browser

    JVM

    JVM

    application

    Operating System

    Hardware


    Java 2 platform enterprise edition j2ee
    Java 2 Platform, Enterprise Edition (J2EE) of Java 2)

    • เป็นแพลตฟอร์มที่มุ่งเน้นในการพัฒนา

    • โปรแกรมเครือข่าย สำหรับใช้งานในองค์กร โดยใช้โปรแกรม Application Server หรือ Web Server

    • ถูกออกแบบมาเพื่อให้สามารถใช้ งานบนระบบเครื่องเซิร์ฟเวอร์รองรับการทำงานร่วมกับ Servlets, JSPและ XML


    Java 2 platform micro edition j2me
    Java 2 Platform, Micro Edition (J2ME) of Java 2)

    • Java 2 Platform, Micro Edition (J2ME) เป็นแพลตฟอร์มที่ใช้พัฒนาโปรแกรมเพื่อใช้งาน

    • กับอุปกรณ์อิเล็กทรอนิกส์ ที่มีทรัพยากรจำกัด เช่น มือถือหรือพีดีเอ (PDA : Personal

    • Digital Asistance)


    Standard java
    Standard Java of Java 2)ปัจจุบันมีหลายรุ่น หลักๆ

    • Sun JDK http://java.sun.com/

      • Standard 1.0 : JDK 1.0 [Old]

      • Standard 1.1 : JDK 1.1 , 1.1.6, 1.1.8 [Still using]

      • Standard 2 : JDK 1.2 , 1.2.2 , 1.3,1.4,1.5 [Current]

    • Microsoft JDK 4.0

    • IBM JDK 1.1.8

    • ใน JDK จะประกอบด้วย Compiler, JVM, Class library, Documents,Demos and Tools


    ขั้นของการศึกษาจาวา of Java 2)

    • เริ่มจาก Java Application / Java Applet

    • ศึกษาภาษา Syntax

    • ฝึกใช้ Standard Class Library

    • ทำความเข้าใจ OOP

    • สร้าง Application ซับซ้อนขึ้น

    • เพื่อเป็นผู้ออกแบบ Java Class/Components

    • ศึกษา Object Orient Design/UML

    • ศึกษา Design Pattern/Framwork

    • เพื่อเป็นผู้พัฒนาโปรแกรม

    • ศึกษาเทคโนโลยีของ Java ที่สำคัญ : Java2D, Java3D, JDBC, J2EE ....

    To be Java Master. You must coding, coding and coding


    Java development kit
    Java Development Kit of Java 2)

    • Jbuilder By Borland

    • Microsoft Visual J++

    • Semantec Cafe

    • Jfactory by Rouge Wave

    • IBM Visual Age for Java

    • NetBean IDE 6.1


    • Real J of Java 2)(Free 487 Kb)เป็น Java IDE ตัวเล็กๆ ที่มีความสามารถมากเหมาะสำหรับมือใหม่ ใช้งานได้ FREE เดิมชื่อว่า freejava แต่ต้องเปลี่ยนชื่อเพราะคำว่า java เป็นลิขสิทธิ์ของบริษัท sun (สุริยะจิ๋ว) ถึงความสามารถของ RealJ จะไม่เท่ากับ JCreator แต่ว่า RealJ สามารถใช้ Font ภาษาไทยได้เป็นอย่างดี Homepage : http://www.realJ.com/

    • BlueJ 2.1.3

    • Jeliot 3.0



    หัวข้อ of Java 2)

    • ประวัติของภาษาจาวา

    • ข้อดีของภาษาจาวา

    • จาวาแพลตฟอร์ม

    • การคอมไพล์และรันโปรแกรมภาษาจาวา

    • โปรแกรม HelloWorld ในแบบตัวอักษรและแบบกราฟิกส์



    • เริ่มต้นขึ้นในปีค.ศ. 1990

    • แพททริก นอทัน (Pattrick Naughton) จะลาออกจากซัน

    • เจมส์ กอสลิ่ง(James Gosling) ผู้ให้กำเนิดภาษาจาวา

    • กรีนทีม

      • ยุคถัดจากคอมพิวเตอร์ส่วนบุคคล (personal computer) ก็คือคอมพิวเตอร์ในอุปกรณ์อีเล็กโทรนิกส์ (consumer electronics)


    ภาษาจาวา 1990

    • บิล จอย (Bill Joy) แจกจ่ายตัวพัฒนาภาษา

    • นอทันพัฒนาเว็บเบราเซอร์ที่สนับสนุนภาษาจาวา โปรแกรมดังกล่าวมีชื่อว่า HotJava

    • Netscape Navigator

    • 23 มกราคม ค.ศ. 1996 ซันได้ออก JDK1.0



    ข้อดีของภาษาจาวา 1990

    • ทำงานบนเว็บเบราเซอร์ได้

    • ความปลอดภัยสูง

    • สนับสนุนงานหลายระดับ


    ข้อดีของภาษาจาวา 1990

    • สามารถทำงานบนเครื่องคอมพิวเตอร์ต่างระบบได้

    • ภาษาจาวาเป็นภาษาเชิงวัตถุ

    • ความทันสมัย

    • ความเรียบง่าย


    ข้อดีของภาษาจาวา 1990

    • กลไกในการคืนพื้นที่ในหน่วยความจำอัตโนมัติ (garbage collection)

    • มีคลาสและอินเตอร์เฟซให้ใช้เยอะมาก

      • 794 interfaces

      • 2485 classes

    • ฟรี



    Platform
    แพลตฟอร์ม 1990 (platform)

    • ระบบที่โปรแกรมอาศัยทำงาน

    • Hardware

    • Software


    จาวาแพลตฟอร์ม 1990

    • Java 2 Platform, Standard Edition (J2SE)

      • จาวาแอพพลิเคชัน (Java application)

      • แอพเพลต (Java applet)

    • Java 2 Platform, Enterprise Edition(J2EE)

      • โปรแกรมแบบมัลติเทียร์ (multitiered) สำหรับการพัฒนาโปรแกรมในระดับองค์กร

    • Java 2 Platform, Micro Edition (J2ME)

      • สินค้าอีเล็กโทรนิกส์ เช่น โทรศัพท์มือถือ พีดีเอ (personal digital assistant) และกล่องเคเบิ้ลทีวี (TV set-top box


    การคอมไพล์และรันโปรแกรมภาษาจาวาการคอมไพล์และรันโปรแกรมภาษาจาวา


    ชุดพัฒนาภาษาจาวาการคอมไพล์และรันโปรแกรมภาษาจาวา (JDK)

    • ชุดพัฒนาภาษาจาวา (Java Development Kit - JDK)

      • จาวาคอมไพเลอร์ (javac.exe)

      • สภาพแวดล้อมการรันโปรแกรมจาวา (Java Runtime Environment - JRE) (java.exe)

    • Download http://java.sun.com


    โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • Notepad

      • มาพร้อมกับ Windows

    • J-Lab

      • http://www.cp.eng.chula.ac.th/~somchai/JLab/

    • Netbeans

      • http://www.netbeans.org/

    • Eclipse

      • http://www.eclipse.org/


    Notepad
    Notepadโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    J lab
    J-Labโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    Netbeans
    Netbeansโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    Eclipse
    Eclipseโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    Helloworld

    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม HelloWorld ในแบบตัวอักษรและแบบกราฟิกส์


    Helloworld1
    โปรแกรม โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมHelloWorld

    • พิมพ์คำว่า Hello, World!ขึ้นบนหน้าจอคอมพิวเตอร์


    การเปิดโปรแกรม โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมcmd

    2

    1

    3


    คอมไพล์โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    Helloworld2
    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม HelloWorld

    public classHelloWorld

    {

    }


    Helloworld3
    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม HelloWorld

    public class HelloWorld

    {

    public static void main(String[] args)

    {

    }

    }


    Helloworld4
    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม HelloWorld

    public class HelloWorld

    {

    public static void main(String[] args)

    {

    System.out.println("Hello, World!");

    }

    }


    Helloworld5
    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมHelloWorld แบบกราฟิก


    Helloworld6
    โปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมHelloWorld แบบกราฟิก

    import java.awt.*;

    import javax.swing.*;

    public class HelloGraphicsWorld {

    public static void main(String[] args) {

    JFrame frame = new JFrame() {

    public void paint(Graphics g) {

    g.drawString("Hello, World!", 110, 150);

    g.drawOval(100, 130, 90, 30);

    }

    };

    frame.setSize(300, 300);

    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    frame.setVisible(true);

    }

    }


    คำอธิบายในโปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • คอมเมนต์บรรทัดเดียว

      //print the word hello

    • คอมเมนต์ที่เป็นย่อหน้า

      /*

      This program

      will print

      the word hello

      */


    คำอธิบายในโปรแกรมโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • คอมเมนต์ที่เป็นย่อหน้าสำหรับการสร้างเอกสารด้วยโปรแกรม javadoc

      /**

      */


    สรุปโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    สรุปโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • โปรแกรมในจาวาแพลตฟอร์มมาตรฐานมีอยู่สองประเภทคือ แอพพลิเคชัน และ แอพเพลท

    • จาวาแอพพลิเคชันสามารถทำงานได้เหมือนกับโปรแกรมทั่วไป มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ เพราะว่ามันทำงานอยู่บนโปรแกรมเครื่องจักรเสมือน

    • จาวาแอพเพลตสามารถทำงานบนเว็บเพจได้ มันสามารถทำงานบนคอมพิวเตอร์ต่างรุ่นต่างระบบปฏิบัติการได้ ขอเพียงแค่มีโปรแกรมเว็บเบราเซอร์ที่สนับสนุนภาษาจาวาติดตั้งอยู่บนระบบปฏิบัติการนั้น


    สรุปโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • ซอร์สโค้ดโปรแกรมจาวาอยู่ในแฟ้มที่มีนามสกุล java

    • โปรแกรมที่ใช้คอมไพล์ภาษาจาวาชื่อ javac

    • ผลการคอมไพล์จะได้แฟ้มที่มีนามสกุล class

    • ไฟล์นามสกุล class สามารถทำงานใน JRE ได้

    • ใช้โปรแกรม javaรันไฟล์ .class ที่มีเมธอด main()

    • การพิมพ์ข้อความใช้คำสั่ง System.out.println("ข้อความที่ต้องการพิมพ์")


    แบบฝึกหัดโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม

    • Ex1. เขียนโปรแกรม HelloWorld ขึ้นมาอีกครั้งหนึ่ง


    เฉลย โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมEx1.

    public class Ex1

    {

    public static void main(String[] args)

    {

    System.out.println("Hello, World!");

    }

    }


    แบบฝึกหัด บทที่ โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม1

    • Ex2. เขียนโปรแกรมที่พิมพ์ข้อความสองบรรทัด บรรทัดแรกเขียนว่า “Hello” บรรทัดที่สองเขียนว่า “World”


    เฉลย โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมEx2.

    public class Ex2 {

    public static void main(String[] args) {

    System.out.println("Hello");

    System.out.println("World");

    }

    }


    แบบฝึกหัด บทที่ โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม1

    • Ex3. โปรแกรมต่อไปนี้ควรที่จะพิมพ์คำว่า “Hello,World” แต่ว่าคอมไพล์ไม่ผ่าน มีจุดที่เขียนผิดพลาดอยู่ลองแก้ไขให้ถูกต้อง

      public class Ex3

      {

      public void main(string[] args)

      {

      system.out.print(“Hello”);

      system.out.print(“,World”);

      }

      }


    เฉลย โปรแกรมที่ใช้เขียนต้นฉบับโปรแกรมEx3.

    public class Ex3

    {

    public static void main(String[] args)

    {

    System.out.print("Hello");

    System.out.print(", World!");

    }

    }


    สวัสดีโปรแกรมที่ใช้เขียนต้นฉบับโปรแกรม


    ad