ออบเจ็ค คืออะไร
ออ บเจ็ค คือรูปแบบการเขียนโปรแกรมที่ได้เพิ่มเข้ามาในภาษาระดับสูง เช่น ภาษา C# ที่จะทำให้โปรแกรมมีความสามารถ และความยืดหยุ่นเพิ่มมากขึ้น โดยออบเจ็คนั้นจะสร้างขึ้นมาจากคลาสที่คุณได้เรียนรู้ไปแล้วในบทก่อนหน้า และออบเจ็คยังมีคุณสมบัติอื่นๆ อีกมากมาย เช่น การสืบทอด Polymorphism Interfaces ซึ่งคุณจะได้เรียนภายหลัง นอกจากนี้มันยังเป็นสิ่งที่ช่วยให้สามารถนำโค้ดเดิมมาใช้ได้ออบเจ็ค นั้นถือว่าเป็นประเภทข้อมูลของมันเอง ขึ้นอยู่กับคลาสที่ใช้สร้างออบเจ็ค ดังนั้นในการสร้างออบเจ็คเราจะเรียกออบเจ็คที่ได้นั้นว่า ตัวแปรออบเจ็ค ซึ่งมันก็เหมือนตัวแปรทั่วไป ที่ต้องมีการประกาศและมีการเรียกใช้ แต่ตัวแปรออบเจ็คนั้นจะไม่สามารถนำมากระทำการทางคณิตศาสตร์โดยตรงได้
ต่อไปมาดูตัวอย่างการสร้างออบเจ็คจากคลาสในภาษา C#
ClassName indentifier = new ClassName(); ClassName2 indentifier2 = new ClassName2(param1, param, ...); ClassName3 indentifier3; indentifier3 = new ClassName3();
การสร้างออบเจ็คในภาษา C#
ในการที่จะสร้างออบเจ็ค เราจะขอยกตัวอย่างคลาสง่ายซึ่งจะเป็นคลาสของรูปสี่เหลี่ยมในสองมิติ โดยมีโค้ดดังนี้class Square { public string name; private int width; private int height; public void SetDimension (int w, int h) { width = w; height = h; } public int CalculateArea () { return width * height; } }จาก ตัวอย่างของคลาด้านบนนั้น เป็นคลาสที่มีชื่อว่า Square โดยคลาสนี้จะมีสมาชิกที่เป็นตัวแปร 3 ตัว และเป็นเมธอด 3 อัน ต่อไปเราจะนำคลาสดังกล่าวมาสร้างออบเจ็ค เพื่อให้มันสามารถทำงานได้ มาดูตัวอย่างการใช้งาน
using System; class ObjectExample { static void Main(string[] args) { Square a = new Square(); a.name = "Paper"; a.SetDimension(8, 11); Square b = new Square(); b.name = "Computer Screen"; b.SetDimension(16, 9); Console.WriteLine("Object " + a.name + " has area = " + a.CalculateArea() + " in^2"); Console.WriteLine("Object " + b.name + " has area = " + b.CalculateArea() + " in^2"); Console.ReadKey(); } } class Square { public string name; private int width; private int height; public void SetDimension (int w, int h) { width = w; height = h; } public int CalculateArea () { return width * height; } }จาก ตัวอย่างด้านบนเป็นการนำคลาส Square มาสร้างออบเจ็ค โดยออบเจ็คแต่ละอันนั้นจะเป็นอิสระต่อกัน แต่มีรูปแบบและคุณสมบัติเดียวกัน จากตัวอย่างเราได้สร้างออบเจ็คขึ้นมาสองอัน โดยการกำหนดค่าความกว้างและความยาวของมันผ่านเมธอด
SetDimension
เพราะว่าเราจะได้กำหนดการเข้าถึงของตัวแปรเป็นแบบ private
จึงไม่สามารถกำหนดโดยตรงเหมือนกับตัวแปร name
ที่เป็นแบบ public
ได้ และเราใช้เมธอด CalculateArea
เพื่อคำนวณหาพื้นที่ของรูปสี่เหลี่ยมดังกล่าวจากตัวอย่างด้านบนจะได้ผลการทำงานของโปรแกรมดังนี้
Object Paper has area = 88 in^2 Object Computer Screen has area = 144 in^2
การใช้คำสั่ง static
คำ สั่ง static เป็นคำสั่งที่ใช้กำหนดให้เมื่อมีการประกาศตัวแปรหรือฟังก็ชัน โดยจะสามารถเรียกใช้จากที่ใดก็ได้ ถ้าหากคลาสนั้นเป็น public คลาส สำหรับตัวแปรที่อยู่ในคลาสที่มีการสร้างออบเจ็คนั้น ทุกออบเจ็คจะใช้ค่านี้ร่วมกันหมด มาดูตัวอย่างpublic static string name;จาก ตัวอย่างถ้าเราสร้างตีวแปร Name เป็นแบบ static เมื่อทำการกำหนดค่าให้กับตัวแปร Name จากออบเจ็คใดก็ตาม ค่าของทุกออบเจ็คจะเปลี่ยนเป็นค่าล่าสุดทันที
การใช้คำสั่ง this
คำสั่งที่สำคัญในการทำงานเกี่ยวกับออบเจ็ค ก็คือคำสั่งthis
คำสั่งนี้ใช้สำหรับการอ้างถึงค่าของคลาสปัจจุบันที่กำลังเรียกใช้อยู่ใน มาดูตัวอย่างclass Square { public string name; private int width; private int height; public void SetDimension (int width, int height) { this.width = width ; this.height = height; } public int CalculateArea () { return width * height; } }จากตัวอย่างให้สังเกตุชื่อตัวแปรในฟังก์ชัน SetDimension ซึ่งใช้ชื่อที่เหมือนกันกับสมาชิกของคลาส ดังนั้นการใช้คำสั่ง
this
เป็นการหมายถึงตัวแปรในคลาสปัจจุบันที่ถูกคำสั่งเรียกใช้อยู่
ประโยชน์ของมันคือใช้เมื่อคุณต้องการใช้ชื่อของตัวแปรที่เหมือนกัน
เพื่อให้ง่ายต่อการจำ
หรือในอีกกรณีหนึ่งจะใช้กับการทำงานของคลาสที่มีการสืบทอดในบทนี้ คุณได้เรียนรู้วิธีการนำคลาสมาสร้างออบเจ็คเบื้องต้น และรู้จักกับคำสั่งที่สำคัญเกี่ยวกับออบเจ็คในภาษา C#
ไม่มีความคิดเห็น:
แสดงความคิดเห็น