วันพุธที่ 20 ตุลาคม พ.ศ. 2553

นิยามของคลาส, เมธอด และฟังก์ชัน (ภาษา Objective-C)

น้อง : พี่ค่ะ Class คืออะไรค่ะ ?
พี่ : คือต้นแบบไง เหมือนพิมพ์เขียว (ก้มหน้าก้มตาทำงานต่อ)
น้อง : หนูไม่เข้าใจ ยกตัวอย่างให้หนูเห็นหน่อยสิ
พี่ : (เงยหน้าขึ้นมา แล...) อื่ม...เช่นเรามีรถ ต้นแบบการสร้างรถเรียกว่า Class
น้อง : แล้วรถของหนูจะเรียกว่าอะไรล่ะ ?
พี่ : รถของหนูและรถของคนอื่นๆที่สร้างจากต้นแบบเดียวกัน (Class) เรียกกันว่า Instance หรือ Object
น้อง : ถ้างั้น Method หรือ Function เกี่ยวข้องอะไรกับ Class ค่ะ ?
พี่ : ไปอ่านหนังสือไป! (หยิบหนังสือให้)
น้อง : ไม่เอา! ไม่อยากอ่าน อยากรู้ตอนนี้อะ เดี๋ยวแฟนจะเอารถมารับไปดูหนังละ เร็วๆบอกมา (งอแง)
พี่ : (คิดในใจ... นี่ถ้ามัน (น้องสาว) ไม่สวย ฉันไม่เสียเวลาอธิบายเด็ดขาด) อย่างนี้นะ
- Method นั้นเราหมายถึงพฤติกรรม เมื่อใช้กับรถ เช่น รถต้องขับได้, เร่ง, เบรก, ไปข้างหน้า, ถอยไปข้างหลัง อะไรทำนองนี้
- Function นั้นเกิดจากโค้ดโปรแกรมจำนวนมาก แล้วแบ่งออกเป็นส่วนย่อยๆ แต่ละส่วนย่อยเรียกว่า Function สำหรับจัดการกับงานอย่างหนึ่งอย่างใด มันง่ายต่อการปรับปรุงในภายหลัง ....เอ่อ.... เช่น รถต้องขับได้ พี่บอกว่า "การขับ" เป็น Method ดังนั้นภายใน "การขับ" อาจต้องเขียนด้วยโค้ดจำนวนมาก และเราอาจแบ่งมันออกเป็น Function มากเท่าต้องการ... (มองหน้าน้อง) เข้าใจไหม ?
น้อง : แสดงว่ามันไม่เหมือนกัน ?
พี่ : ใช่ Method และ Function แท้จริงต่างกัน คือต่างกันที่แนวคิด แต่พี่เห็นเธอเรียกมันมั่วปนกันไปหมด (-*-)
น้อง : แล้วมันเกี่ยวอะไรกับ Class ค่ะ
พี่ : นี่แฟนเธอยังไม่มาอีกเหรอ ? ...ว่ากันว่า Class จะประกอบด้วย "ค่า" หมายถึงตัวแปรต่างๆ และพฤติกรรม (Method) ก็อย่างที่บอกไป หากเราสร้างคลาสของรถ รถย่อมประกอบด้วย ความเร็ว, ความจุน้ำมัน เหล่านี้คือค่า ส่วนการ ขับได้, เบรกได้ เหล่านี้คือพฤติกรรม เธอยังสามารถแบ่งโค้ดของพฤติกรรมออกเป็นส่วนย่อยๆ แล้วเรียกแต่ละส่วนย่อยว่า Function ก็ได้ อ๋อ...ภาษาระดับสูงเช่น Java หรือ C# เขามักไม่เรียก Function นะ เขาเรียกมันว่า Method หรือพฤติกรรมทั้งหมด แล้วก็ยังมี Properties ด้วย
น้อง : Properties มาไงอะ ? ไว้ก่อนแล้วกัน แฟนหนูโทรมาแล้ว ไปละนะคุณป๋า (เรียกพี่ชายตัวเอง) ^^
พี่ : (มองดูน้องสาวในกรอบรูป ที่ตั้งไว้บนโต๊ะทำงาน) มันก็น่ารักดีนะ (ก้มหน้าทำงานต่อ)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น