Object-Oriented Programming การเขียนโปรแกรมเชิงวัตถุ Wathinee Duang-onnam FB : AJ Wathinee Email: wathinee.d@gmail.com
คำอธิบายรายวิชา : แนวคิดพื้นฐานเกี่ยวกับการออกแบบ และพัฒนาโปรแกรมเชิง วัตถุโครงสร้างของภาษาเชิงวัตถุ เช่น คลาส ออปเจ็ค เมธอด อินเตอร์เฟส แพคแกจ การสืบทอดคลาส เอนแคปซูเลชั่น และพอริมอร์ฟิซึม เอพีไอของภาษาที่ใช้ในการเขียนโปรแกรมเชิงวัตถุ
สิ่งที่จะเรียนรู้ใน Week นี้ Class Attribute Object Method แบบคืนค่า(return type) และไม่คืนค่า (void) วันนี้เรียนเรื่องนี้จ้า
Class คลาส (Class) - ประเภทของวัตถุ เป็นการกำหนดว่า วัตถุ จะประกอบไปด้วย ข้อมูล(data) หรือคุณสมบัติ(property) และ พฤติกรรม(behavior)หรือการกระทำ(method) อะไรบ้าง
Method - Method ชนิดไม่ส่งค่ากลับ ,ไม่ return ค่า,void - Method ชนิดส่งค่ากลับ ,return ค่า
Class Attribute(Data) Method Class diagram Class Name AttributeName MethodName ( ) Class Attribute(Data) Method
ตัวอย่าง class diagram ของ Rectangle Class Name AttributeName MethodName ( )
[modifier] class ชื่อClass { // Attribute_Member // Method_Member } public + ไม่เขียนหรือว่าง protected # private - [modifier] class ชื่อClass { // Attribute_Member // Method_Member } class คือคีย์เวิร์ดสำหรับกำหนดคลาส Class_Name คือชื่อคลาส Attribute_Member Data หรือข้อมูลในคลาส Method_Member เมดธอดในคลาส สัญลักษณ์ { } คือของเขตของคลาส
การสร้าง Method แบบไม่ส่งค่ากลับ การสร้าง Method แบบไม่คืนว่า การสร้าง method แบบ void
Class Rectangle (สี่เหลี่ยม) คุณสมบัติของ Rectangle (Attribute) กว้าง ยาว สี การกระทำคือ (method) แสดงผลข้อมูลสี่เหลี่ยม คำนวณหาพื้นที่ เพิ่มค่าความกว้าง ดึงค่าความกว้าง เพิ่มค่าความยาว ดึงค่าความยาว เพิ่มค่าสี ดึงค่าสี
การสร้าง Class Rectangle (สี่เหลี่ยม) กว้าง : double ยาว : double สี : String แสดงผลข้อมูลสี่เหลี่ยม () : void คำนวณหาพื้นที่(w : double,h :double): double เพิ่มค่าความกว้าง(w: double) : void ดึงค่าความกว้าง () : double เพิ่มค่าความยาว (h : double) : void ดึงค่าความยาว () : double เพิ่มค่าสี(c : String) : String ดึงค่าสี() : dobule การสร้าง Class Rectangle (สี่เหลี่ยม)
เมธรอด(Method Member) Argument คือช่องทางสำหรับการผ่านข้อมูลเพื่อส่งให้กับเมธรอดใช้ในการทำงาน สัญลักษณ์ { และ } เป็นเครื่องหมายบ่งบอกขอบเขตของเมธรอด ถ้าไม่มีข้อมูลที่จะส่งกลับก็ให้กำหนดค่าเป็น “void” [modifier] ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด ([อาร์กิวเมนต์]) { [รายละเอียดการทำงานในเมธอด ] }
ตัวอย่าง method ไม่ return ค่า [modifier] ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด ([อาร์กิวเมนต์]) { [รายละเอียดการทำงานในเมธอด ] } public void testMehod() { System.out.print(“test”); }
ตัวอย่าง method แบบ return ค่า (1) [modifier] ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด ([อาร์กิวเมนต์]) { [รายละเอียดการทำงานในเมธอด ] } public String testMehod() { String x=“HI”; return x; }
ตัวอย่าง method แบบ return ค่า (2) [modifier] ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด ([อาร์กิวเมนต์]) { [รายละเอียดการทำงานในเมธอด ] } public int testMehod2() { return 2+4; }
ตัวอย่าง class Rectangle{ double width; double height; void showData(){ System.out.print(“ สี่เหลี่ยมกว้าง ”+width); System.out.print(“ สี่เหลี่ยมยาว ”+height); }
ตัวอย่าง class Rectangle{ double width; double height; public void setWidth(double w){ width=w; }
ตัวอย่าง class Rectangle{ double width; double height; public double getArea(){ return width*height; }
ตัวอย่าง class Rectangle{ double width; double height; public double getWidth(){ return width; }
class ชื่อคลาส{ attribute1; attribute2; method1(){ //วิธีการทำงาน }
class ชื่อคลาส{ method1(){ //วิธีการทำงาน } method2(){ attribute1;
แสดงข้อมูลสี่เหลี่ยมมีความกว้าง 40.00 มีความยาว 30.00
พื้นที่สีเหลี่ยมคือ : 2000.0
ฝึกปฏิบัติ 1.ให้นักศึกษานำ class ที่สั่งให้เป็นการบ้าน ชั่วโมงก่อนนำมาสร้าง method ให้สมบูรณ์ ทั้งแบบ return ค่า และ แบบ Void 2.สร้าง class ขึ้นมาทดสอบเรียก class ที่สร้างขึ้น สรุปจะมี 2 class (คลาสต้นแบบและคลาสที่เรียกใช้งาน)