ออบเจ็ค คืออะไร
ออ บเจ็ค คือรูปแบบการเขียนโปรแกรมที่ได้เพิ่มเข้ามาในภาษาระดับสูง เช่น ภาษา 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#
ไม่มีความคิดเห็น:
แสดงความคิดเห็น