1 / 77

Object - Oriented Programming

Object - Oriented Programming. ผู้สอน อ.วาทินี ดวงอ่อนนาม. การเขียนโปรแกรมเชิงวัตถุ. งานใบที่ 2. บทที่ 4. ปูพื้นฐาน ก่อนเริ่มเขียนโปรแกรม. เนื้อหา. กฎการตั้งชื่อ Identify ชนิดข้อมูลในภาษาจาวา ชนิดข้อมูลพื้นฐาน ตัวดำเนินการทางคณิตศาสตร์ การแปลงชนิดข้อมูล. Class diagram.

jud
Download Presentation

Object - Oriented Programming

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object - Oriented Programming ผู้สอน อ.วาทินี ดวงอ่อนนาม การเขียนโปรแกรมเชิงวัตถุ

  2. งานใบที่ 2

  3. บทที่ 4 • ปูพื้นฐาน ก่อนเริ่มเขียนโปรแกรม

  4. เนื้อหา • กฎการตั้งชื่อ Identify • ชนิดข้อมูลในภาษาจาวา • ชนิดข้อมูลพื้นฐาน • ตัวดำเนินการทางคณิตศาสตร์ • การแปลงชนิดข้อมูล

  5. Class diagram • Class • Attribute(Data) • Method Class Name • AttributeName • MethodName ( )

  6. กฎการตั้งชื่อ Identify Identifier คือชื่อที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจเป็นชื่อของคลาส ชื่อของตัวแปร ชื่อของเมธอด หรือชื่อของค่าคงที่ ซึ่งจะต้องเป็นไปตามกฎการตั้งชื่อ ดังนี้

  7. กฎการตั้งชื่อ Identify 1.ซึ่งที่ตั้งสามารถประกอบด้วยตัวอักษรภาษาอังกฤษ ตัวเลข underscore(_),dollar sign($) 2.แต่ตั้งขึ้นต้นด้วยภาษาอังกฤษ ,_ ,$ เท่านั้น (ห้ามขึ้นต้นด้วยตัวเลข) myCom2  _mycom2  _myCom$  my_Com2  2mycom 

  8. กฎการตั้งชื่อ Identify 3. ชื่อที่ตั้งเว้นวรรค หรือ มีช่องว่างไม่ได้ my_Com2  my com2 

  9. กฎการตั้งชื่อ Identify 4. จาวาเป็น case-sensitive เหมือนกับ C คือ ภาษาอังกฤษตัวใหญ่ ตัวเล็กถือว่าแตกต่างกันต้องระมัดระวังให้ดี ไม่เช่นนั้นจะเกิดขึ้นผิดพลาดได้ myCom, Mycom, MYCOM

  10. กฎการตั้งชื่อ Identify 5. ความยาวตัวอักษรไม่ควรเกิน 65535 ตัวอักษร

  11. กฎการตั้งชื่อ Identify 6. ต้องไม่ตรงกับคีย์เวิร์ด (Keyword )ใดในภาษาจาวาดังต่อไปนี้ Keyword คือ ชื่อที่มีความหมายพิเศษในจาวา compilerของภาษาจาวาจะเข้าใจความหมายและคำสั่งที่จะต้องดำเนินการสำหรับ keyword แต่ละตัว 

  12. เพิ่มเติม คำสงวน (JAVA Keywords) คำสงวน (Keywords or Reserved Word) คือ คำที่ถูกสงวน หรือสำรองไว้โดยตัวแปลภาษา ที่ผู้พัฒนาไม่สามารถนำมาใช้เป็นชื่อตัวแปร ชื่อเมธอด หรือชื่อคลาส เพราะคำสงวนจะมีหน้าที่ของตนเอง ในการควบคุมโครงสร้างของโปรแกรม (Structure) เป็นชนิดของข้อมูล (Data Type) หรือคำขยายแบบของข้อมูล (Modifier) ดังนั้นตัวแปลภาษาจะประกาศคำที่ถูกสงวนไว้ล่วงหน้า มิให้ผู้พัฒนานำไปใช้ และเกิดความสับสนในการพัฒนาโปรแกรม

  13. identifier ตัวอย่างของ identifier ที่ถูกต้อง • MyVariable • _MyVariable • $data • Sum_Score • … ตัวอย่างของ identifier ที่ไม่ถูกต้อง • My Variable • 9Pi • @net • System • …

  14. ตัวอย่างการตั้งชื่อ • x ถูกต้อง • dayofWeek ถูกต้อง • 3dGraph ไม่ถูกต้อง • data1 ถูกต้อง • week day ไม่ถูกต้อง • public ไม่ถูกต้อง • _name

  15. ข้อแนะนำสำหรับการตั้งชื่อให้กับ class • เป็นไปตามกฎข้อ 1-6 • นิยมขึ้นต้นด้วยตัวอักษรตัวใหญ่ หากประกอบด้วยหลายคำนิยมให้ตัวอักษรแต่ละตัวของคำเป็นตัวใหญ่ • นิยมตั้งชื่อเป็นคำนาม Employee, Student, Television MobliePhone, Moblie_Phone

  16. ข้อแนะนำสำหรับการตั้งชื่อให้กับ Attribute,Dataและตัวแปร • เป็นไปตามกฎข้อ 1-6 • นิยมตั้งชื่อเป็นคำนาม • นิยมขึ้นต้นด้วยตัวอักษรตัวเล็ก หากประกอบด้วยหลายคำให้คำแรกขึ้นตัวด้วยตัวเล็กตัวแรกของคำต่อ ๆ ไปขึ้นตัวด้วยตัวใหญ่ employeeId, salary, department name,address ,firstName,last_Name

  17. ข้อแนะนำสำหรับการตั้งชื่อให้กับ Method • เป็นไปตามกฎข้อ 1-6 • นิยมตั้งชื่อเป็นคำกริยา • นิยมขึ้นต้นด้วยตัวอักษรตัวเล็ก หากประกอบด้วยหลายคำให้คำแรกขึ้นตัวด้วยตัวเล็กตัวแรกของคำต่อ ๆ ไปขึ้นตัวด้วยตัวใหญ่ openMobile , getTime ,closeMobile ,setRingtone

  18. ข้อแนะนำสำหรับการตั้งชื่อให้กับ Constant • เป็นไปตามกฎข้อ 1-6 • จะใช้ตัวอักษรพิมพ์ใหญ่ทั้งหมด และจะแยกคำโดยใช้เครื่องหมาย _ (underscore) • ควรเป็นคำนาม PI, MAX

  19. Class diagram : Employee • Class • Attribute(Data) • Method Employee • -empId : int • -salary : double • -timeIn : String • -timeOut :String • + setEmpId (empId : int) • + getSalary (empId : int) :double

  20. Class --> Object Employee • -empId : int • -salary : double • -timeIn : String • -timeOut :String • + setEmpId (empId : int) • + getSalary (empId : int) :double empId Salary timeIn timeOut setEmpId getSalary

  21. Harddisk --> Ram 4 bytes Employee • -empId : int • -salary : double • -timeIn : String • -timeOut :String • + setEmpId (empId : int) • + getSalary (empId : int) :double empId Salary timeIn timeOut 6 bytes n bytes setEmpId n bytes getSalary 4 bytes 4 bytes

  22. ชนิดข้อมูล (Data type)

  23. ชนิดข้อมูลในภาษา Java • Primitive Data Types ชนิดของข้อมูลพื้นฐาน • Class Types(reference data type) ชนิดของข้อมูลที่ถ่ายทอดมากจากคลาส หรือ Interface • Array Types ชนิดของข้อมูลที่เป็นอาร์เรย์ หรือข้อมูลเป็นชุดๆ

  24. ชนิดข้อมูลพื้นฐาน (Primitive Data Type) • หมายถึงชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็นข้อมูลทั่วไปหรือข้อมูลพื้นฐาน ภาษาจาวาถูกออกแบบให้มีชนิดข้อมูลพื้นฐาน เนื่องจากผู้ออกแบบต้องการให้ผู้ที่สนใจภาษาจาวาและเคยเขียนโปรแกรมมาก่อน สามารถเข้าใจภาษาจาวาได้อย่างไม่ยากเย็นนัก ชนิดข้อมูลพื้นฐานมี 4 ประเภทหลักๆดังนี้

  25. ชนิดข้อมูลแบบพื้นฐาน • ชนิดข้อมูลแบบพื้นฐานแบ่งเป็น 4 ประเภทคือ • ชนิดข้อมูลตรรกะ (logical) คือชนิด boolean • ชนิดข้อมูลอักขระ (textual) คือชนิด char • ชนิดข้อมูลตัวเลขจำนวนเต็ม (integer) คือชนิด byte, short, intและlong • ชนิดข้อมูลตัวเลขทศนิยม (floating point) คือชนิด float และdouble

  26. ชนิดข้อมูลแบบพื้นฐาน

  27. ข้อมูลชนิด Primitive Data Types

  28. ชนิดข้อมูลใน กลุ่ม ตรรกะ (logical)- ชนิดข้อมูล boolean • ใช้พื้นที่เก็บ 8 บิต • มีข้อมูลค่าคงที่อยู่ 2 ค่าคือ • true (จริง) และ false(เท็จ) • ตัวอย่าง • boolean check= true; เป็นการกำหนดให้ตัวแปรชื่อ check มีชนิดข้อมูลเป็น booleanและกำหนดให้มีค่าเป็น true

  29. ชนิดข้อมูลในกลุ่มตัว อักขระ (textual) - ชนิดข้อมูล char • ใช้พื้นที่เก็บ 16 บิต • ข้อมูลชนิดอักขระใช้เพื่อแสดงตัวอักขระ 1 ตัว • คลุมด้วยเครื่องหมาย ‘’(single quote) ตัวอย่าง char alphabet = ‘M’; เป็นการประกาศตัวแปรชื่อ alphabet มีชนิดข้อมูลเป็น char โดยมีค่าเป็นตัวอักขระ M

  30. ตัวอย่าง char X,Y; X=‘A’; Y=‘/uoo41’;

  31. ชนิดข้อมูลในกลุ่ม ตัวเลขจำนวนเต็ม (integer) - ชนิด byte, short, intและ long

  32. ชนิดข้อมูลในกลุ่ม ตัวเลขจำนวนเต็ม (integer) - ชนิด byte, short, intและ long ข้อมูลค่าคงที่ของเลขจำนวนเต็มที่เป็นชนิด long จะมีตัวอักษร lหรือ Lต่อท้าย เช่น • 3l, 7l,7000L,80L * ไม่เช่นนั้นค่าที่กำหนดให้ตัวแปรจะถูกมองเป็น ชนิด int ตัวอย่าง byte a = 1; short b = 2; int c = 3; long d = 4L;

  33. ชนิดข้อมูลในกลุ่ม ตัวเลขทศนิยม (floating point) - ชนิด float และdouble การกำหนดให้ตัวแปรชนิด float ต้องระบุ f ,F ต่อท้ายไม่เช่นนั้นค่าที่กำหนดให้ตัวแปรจะถูกมองเป็น ชนิด double

  34. ชนิดข้อมูลในกลุ่ม ตัวเลขทศนิยม (floating point) - ชนิด float และdouble ตัวอย่าง float e = 5.0f; double x = 6.0;

  35. Note • ตอนนี้ยังไม่ได้กล่าวถึง String นะคะ • ซึ่งไว้สำหรับเก็บค่าข้อมูลที่เป็นกลุ่มคำเช่น “Hello ” , “Somchai” , “ asdfasfsdf”

  36. ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์ เช่น A + B * C นิพจน์ (expression) + ,* คือ Operator ตัวดำเนินการ A,B,Cคือ Operand ตัวถูกดำเนินการ

  37. จัดการข้อมูลด้วยตัวดำเนินการจัดการข้อมูลด้วยตัวดำเนินการ • ตัวดำเนินการ (Operator) ทำหน้าที่จัดการ และเราเรียกตัวแปรที่ทำงานร่วมกับตัวดำเนินการว่า Operand

  38. ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์ ตัวดำเนินการ + ,- สามารถกระทำกับตัวถูกดำเนินการตัวเดียวได้ เช่น - 5 , +4 เรียกว่า unary operator (ยูนารี)

  39. ลำดับความสำคัญ 12 + 6 / 3 % 2 จะได้ค่าเท่ากับเท่าไหร่ ?

  40. ลำดับความสำคัญ 5 + 2 * 4 ได้ค่า 13 10 / 2 – 3 ได้ค่า 2 8+12*2-4 ได้ค่า 28 10/(5-3) ได้ค่า 5 (4+17) % 2-1 ได้ค่า 0 (6 -3 )* (2+7)/3 ได้ค่า 9

  41. ตัวดำเนินการแบบย่อ (shortcut operator)

  42. Assignment Operator : ตัวดำเนินกำหนดค่า • ตัวดำเนินการกำหนดค่าจะทำหน้าที่กำหนดค่าของข้อมูล โดยนำข้อมูลจากด้านขวาของตัวดำเนินการมากำหนดให้กับตัวแปรที่อยู่ด้านซ้ายของตัวดำเนินการ • ทดลองเขียนโปรแกรมโดยใช้ตัวดำเนินกำหนดค่า

  43. Comparison Operator : ตัวดำเนินการเปรียบเทียบ • ตัวดำเนินการเปรียบเทียบนั้น เป็นการเปรียบเทียบข้อมูลที่อยู่คนละฝั่งของตัวดำเนินการว่าเหมือน หรือแตกต่างกันอย่างไร • ทดลองเขียนโปรแกรมโดยใช้ตัวดำเนินการเปรียบเทียบ

  44. Logical Operator : ตัวดำเนินการทางตรรกศาสตร์ • ตัวดำเนินการทางตรรกศาสตร์จะนำข้อมูลมาประมวลผลในทางตรรกศาสตร์ ซึ่งผลลัพธ์จะออกมาเป็นค่า true หรือ false เท่านั้น ซึ่งเรามักจะใช้เพื่อตัดสินใจกำหนดทิศทางของการทำงานของโปรแกรม • ทดลองเขียนโปรแกรมโดยใช้ตัวดำเนินการทางตรรกศาสตร์

More Related