เรียนรู้ OOP ด้วย C#.NET(ต่อ)

Assembly
 ถ้าพูดถึง Assembly ทุกคนจะต้องนึกถึง ภาษาที่สูงกว่า machine ระดับหนึ่งแต่ใน C# หมายถึงไฟล์(ทั้ง Code และ  
 data) ถึงสร้างขึ้นมาเพื่อแก้ใขปัญหา dll hell นั้นเอง โดยมีข้อสรุปดังนี้
 1.คือไฟล์ที่เกิดจากการคอมไพล์โปรแกรมให้เป็นภาษา MSIL
 2.อยู่ในรูป Binary
 3.แก้ปัญหา dll hell
 4.สามารถใช้ข้ามภาษาได้
 
ฟิลด์(Field)
 ตัวแปรของคลาสมีหน้าที่ในการเก็บข้อมูลที่ได้จากการประมวลผล อาจเป็นอ็อบเจ็ตหรือตัวแปรธรรมดาก็ได้
 ตัวอย่าง
 class A
 {
   int iP;
 object b;
 }
 จะเห็นได้ว่า field iP เป้นตัวแปรแบบ value type ส่วน field b จะเป็นตัวแปร reference b กรณีที่เราได้กำหนด  
 access modifier โดย defaul จะเป็น private  ถ้าเราต้องการให้ client class เข้าถึงได้ เปลี่ยนแปลงค่า
 ได้หรือให้อ่านอย่างเดียว ให้ใช้ access modifier เป็น public ip หรือ protected iP การณีนี้จะใช้ได้เฉพาะคลาสที่ 
 สืบทอด(Inherits)ไปเท่านั้น หรือให้อ่านได้อย่างเดียว public readonly int iP
 โดยปกติเราจะไม่ให้ client class เข้าถึง field โดยตรง field สามารถเป็นได้ทั้ง value type หรือ reference type  
 ก้ได้
 
ฟังก์ชันใน C#
 method  : ฟังก์ชันการทำงานของคลาส
 constructure:ถูกเรียกเมื่อมีการสร้าง Instant ของ Object
 deconstructure:ถูกเรียกใช้เมื่อ Instant ถูกทำลาย
 Indexer  : ฟังก์ชันที่ทำให้เราสามารถเข้าถึงภายใน Object ได้
 event  : เหตุการณ์ที่เกิดขึ้น
 operator  : ตัวกระทำ
 perperty  : ส่วนที่ช่วยให้เราสามารถอ่านเขียนค่าแบบ access modifier private ได้ ตามตัวอย่างนี้
 
 class persol
 {
  private string fname="";
  pulblic string Fname
  {
    get{return fname;}
    set{fname=value;} 
  }
 }
 จากคลาส persol จะเห็นได้ว่า ตัวแปร fname เราไม่สามารถเข้าถึงได้โดยตรง จึงมีการสร้าง perperty Fname ขึ้น 
 มาโดย คีเวิร์ค get และ return จะใช้คู่กันเสมอ และ set กับ value ก็ใช้คู่กันเสมอเหมือนกัน ดังนั้น Property จึง 
 ถือว่าเป็นส่วนที่ทำให้ client class สามารถเปลียนแปลงฟิลด์ได้ โดยมี accessor get แล set ในการเข้าถึง
 
Method
 เป็นสมาชิกของคลาสอีกแบบหนึ่งที่ทำหน้าทีในการประมวลเช่นกัน โดยขอบเขตของ Method จะอยู่ใน เครื่อง 
 หมายปีกกา เปิดและ ปิด โดย method มีลักษณะเหมือนกับฟังก์ชันที่ต้องมีการส่งค่าเข้าหรือรับค่าออก หรือทั้งไม่มี
 การส่งค่าเข้าและไม่มีการส่งค่าออก
 
Constructor
 จะถูกเรียกใช้งานเมื่อมีการใช้งาน Object นั้นๆ โดยจะมีชื่อเดียวกับคลาสเสมอ ใช้เพื่อกำหนดค่าเริ่มต้นให้แก่ field
 เช่น
 class persol
 {
   public persol
   {
    //constructor persol
   }
 }
 
DeConstructor
 จะถูกเรียกเมื่อ Object นั้นๆ ถูกทำลาย เช่น
 class persol
 {
   ~public persol
   {
    //constructor persol
   }
 }
 *จะเห็นว่าทั้ง constructor กับ deconstructor ไม่มี accessor modifier ไม่มีการ return ค่ากลับ สามารถมีได้แค่ 
 ตัวเดียวเท่านั้น และไม่สามารถทำการ Overload,Inherits ได้
 
parameter
 ใน C# มีอยู่ 4 แบบด้วยกัน
 1.value parameter : ส่งค่าเฉพาะค่าไป
 2.ref parameter : ส่งตัวแปรไป ทำให้ค่าของตัวแปรเปลี่ยนเมื่อได้รับการกระทำ
 3.out parameter : คล้ายกับ ref parameter แต่ out ไม่จำเป็นต้องกำหนดค่าเริ่มต้นให้
 4.params parameter : ส่งค่าแบบอาร์เรย์
ข้อแตกต่างระหว่าง parameter กับ argument
 paramenter : ตัวแปรที่ใช้รับค่า
 argument  : ตัวแปรที่อยู่ใน method หลังขื่อฟังก์ชัน เช่น
    public void setName(string strFname,string strLname){….}
   จะเห็นว่า argument ของฟังก์ชันนี้คือ strFname กับ strLname

กรุณา Comment สักหน่อยเถอะ จะได้ปรับปรุ่งให้ดีขึ้น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s