ในบทนี้ คุณจะได้เรียนรู้วิธีการสร้างคลาสและออบเจ็คในภาษา C# 
ซึ่งเป็นพื้นฐานที่สำคัญในภาษา C# 
เพราะว่ามันถูกออกแบบมาให้เป็นภาษาสำหรับการเขียนโปรแกรมเชิงวัตถุอย่างเต็ม
รูปแบบ (object oriented programming) ดังนั้น 
คุณจะเข้าใจอย่างละเอียดในบทนี้
คุณได้เห็นคลา สมาในบทก่อนหน้าแล้วในบทเรียนนี้ เราจะแสดงให้คุณเห็นและเข้าใจอย่างละเอียดในบทนี้ และการสร้างคลาสในภาษา C# นั้นจะมีรูปแบบดังนี้
ใน ส่วนบลอคคำสังของคลาส จะเป็นส่วนในการประกาศสมาชิกของคลาส โดยคลาสจะมีสมาชิกได้สองแบบคือ ตัวแปร และเมธอด ตัวแปรสามารถเป็นได้ทั้งและตัวแปรแบบ static นอกจากนี้ สมาชิกในคลาสยังสามารถกำหนดระดับความเข้าถึงได้
ต่อไปมาดูตัวอย่างการสร้างคลาสในภาษา C#
ตัวแปร
ใน บทนี้ คุณได้เรียนรู้เกี่ยวกับคลาสและการสร้างคลาสในภาษา C# และนอกจากนี้ยังได้รู้จักคอนสตรัคเตอร์ที่จะช่วยให้กำหนดค่าเริ่มต้นของออบ เจ็คได้ ในบทต่อไปคุณจได้เรียนรู้เกี่ยวกับออบเจ็ค ที่จะสร้างโดยการนำคลาสเหล่านี้ไปสร้าง
C# Classes
คลาส คือแม่แบบ (template) ของโปรแกรมเพื่อนำมาสร้างออบเจ็คในโปรแกรม ในการสร้างคลาสนั้นจะเป็นเหมือนแม่แบบของสิ่ง ๆ หนึ่งที่มีอยู่จริง เช่น คลาสของคน ใช้อธิบายส่วนประกอบ ลักษณะ และการกระทำ เราใช้คลาสเพื่อที่จะนำไปสร้างออบเจ็คได้อย่างไม่จำกัดคุณได้เห็นคลา สมาในบทก่อนหน้าแล้วในบทเรียนนี้ เราจะแสดงให้คุณเห็นและเข้าใจอย่างละเอียดในบทนี้ และการสร้างคลาสในภาษา C# นั้นจะมีรูปแบบดังนี้
class identifier {
    // class members and specifications
}
ในการสร้างคลาสนั้น เราจะใช้คำสั่ง class และ identifier
 นั้นเป็นชื่อของคลาสที่จะสร้างขึ้น 
หลักการในการตั้งชื่อคลาสนั้นเหมือนกับหลักในการตั้งชื่อตัวแปร 
แต่ในการประบัติที่ดี คุณควรจะเริ่มต้นชื่อของคลาสด้วยตัวพิมพ์ใหญ่เสมอ 
และเริ่มต้นคำใหม่ด้วยตัวพิมพ์ใหญ่ เช่น Person Car Country เป็นต้นใน ส่วนบลอคคำสังของคลาส จะเป็นส่วนในการประกาศสมาชิกของคลาส โดยคลาสจะมีสมาชิกได้สองแบบคือ ตัวแปร และเมธอด ตัวแปรสามารถเป็นได้ทั้งและตัวแปรแบบ static นอกจากนี้ สมาชิกในคลาสยังสามารถกำหนดระดับความเข้าถึงได้
ต่อไปมาดูตัวอย่างการสร้างคลาสในภาษา C#
class Car {
    public static int enegyUserPerRun = 3;
    String color;
    private float enegy = 10;
    public int speed = 0;
    private int distant = 0;
    public void AddEnegy () {
        enegy += 10;
    }
    public void Run () {
        if (enegy < speed * enegyUserPerRun) {
            Console.WriteLine("No enough enegy to run.");
        } else {
            distant += (speed * enegyUserPerRun);
            enegy -= enegyUserPerRun;
        }
    }
    public void ShowDistance () {
        Console.WriteLine("Distance runned " + distant);
    }
}
ในตัวอย่างเราได้สร้างคลาสที่มีชื่อว่า Car ซึ่งเป็นคลาสเกี่ยวกับรถ โดยคลาสนั้นจะมีสมาชิกที่เป็นตัวแปร 5 ตัว และเป็นเมธอด 3 เมธอดตัวแปร
enegyUserPerRun
 นั้นเป็นตัวแปรประเภท integer 
เก็บสำหรับเป็นข้อมูลถึงการใช้พลังงานในการวิ่งและละครั้งของรถ 
ตัวแปรนี้เป็น static 
นั่นหมายความว่ารถทุกคันที่สร้างจากคลาสนี้จะใช่ตัวแปรนี้ร่วมกัน 
และถ้ามีการเปลี่ยนแปลงค่าของตัวแปรนี้ก็จะเปลี่ยนสำหรับทุกออบเจ็คที่สร้าง
จากคลาสนี้ ตัวแปร color ใช้ในการเก็บสีของรถ ว่ารถคันนี้มีสีอะไร และตัวแปร enegy เป็นตัวแปรในการเก็บพลังงานคงเหลือปัจจุบันของรถ ตัวแปร speed เป็นความเร็วของรถ และตัวแปร distant บอกว่ารถคันนี้วิ่งไปได้ระยะทางเท่าไหร่แล้วClass constructor
คอน สตรัคเตอร์ (Constructor) เป็นเมธอดพิเศษในคลาสที่ใช้สำหรับในการกำหนดค่าเริ่มต้นเมื่อได้ทำการสร้าง ออบเจ็ค คอนสตคัคเตอร์นั้นจะมีชื่อที่เหมือนกับคลาส มีการเข้าถึงเป็นแบบpublic และไม่มีส่วนของการ return ค่ากลับ ต่อไปมาดูตัวอย่างการสร้างคอนสตัคเตอร์กับคลาสในภาษา C#class Car {
    public static int enegyUserPerRun = 3;
    String color;
    private float enegy = 10;
    public int speed = 0;
    private int distant = 0;
    public Car(String c, float e, int s, int d)
    {
        color = c;
        enegy = e;
        speed = s;
        distant = d;
    }
    public void AddEnegy () {
        enegy += 10;
    }
    public void Run () {
        if (enegy < speed * enegyUserPerRun) {
            Console.WriteLine("No enough enegy to run.");
        } else {
            distant += (speed * enegyUserPerRun);
            enegy -= enegyUserPerRun;
        }
    }
    public void ShowDistance () {
        Console.WriteLine("Distance runned " + distant);
    }
}
จากตัวอย่างนั้นเป็นคลาสเดียวกันกับที่เราสร้างก่อนหน้า โดยคุณจะสังเกตุุเห็นว่า public Car(...)
 นั้นก็คือคอนสตรัคเตอร์ของคลาสนี้ 
เพื่อที่จะกำหนดค่าเริ่มต้นให้กับออบเจ็คเมื่อมันถูกสร้าง 
นอกจากนี้คุณยังสามารถมีได้หลายคอนสตรัคเตอร์ได้ ถ้าหากว่ามันมีพารามิเตอร์
 และประเภทของข้อมุลที่แตกต่างกัน เช่น public Car(String c, int s)
{
    color = c;
    speed = s;
}
จาก
ตัวอย่างข้างบนเป็นคอนสตรัคเตอร์อันที่สองของคลาสนี้ 
โดยมีรับพารามิเตอร์เข้ามาเพียงแค่สองตัว เนื่องจากว่าตัวแปร enegy 
ของเรานั้นมีค่าเริ่มต้นแล้ว และตัวแปร distant 
ก็ต้องเริ่มต้นจากศูนย์อยู่แล้ว 
ดังนั้นในตอนสร้างออบเจ็คคุณจะสามารถเลือกใช้คอนสตรัคเตอร์อันไหนก็ได้ใน บทนี้ คุณได้เรียนรู้เกี่ยวกับคลาสและการสร้างคลาสในภาษา C# และนอกจากนี้ยังได้รู้จักคอนสตรัคเตอร์ที่จะช่วยให้กำหนดค่าเริ่มต้นของออบ เจ็คได้ ในบทต่อไปคุณจได้เรียนรู้เกี่ยวกับออบเจ็ค ที่จะสร้างโดยการนำคลาสเหล่านี้ไปสร้าง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น