วันพุธที่ 17 สิงหาคม พ.ศ. 2559

Encapsulation

Encapsulation คืออะไร

Encapsulation (คุณสมบัติการห่อหุ้ม) เป็นคุณสมบัติหนึ่งของการเขียนโปรแกรมเชิงวัตถุ ซึ่งเป็นการกำหนดความสามารถในการเข้าถึงสมาชิกภายในคลาส ไม่ว่าทั้งจากภายนอกและภายในคลาสก็ตาม มันถูกใช้เพื่อทำให้ข้อมูลภายในเป็นความลับและมีความปลอดภัย และง่ายต่อการเขียนโปรแกรม

Access Modifiers

ประเภทข้อมูลและ ตัวแปรต่างๆ นั้นจะมีระดับการเข้าถึง ซึ่งเป็นสิ่งที่ใช้บอกว่ามันจะมีขอบเขตในการใช้งานของโปรแกรมส่วนนี้หรือ ส่วนอื่นด้วยหรือไม่ โดยรายการเข้าถึงในภาษา C# มีดังนี้

public

ตัวแปรสามารถเข้าถึงได้โดยโปรแกรมในส่วนเดียวกัน หรือจากโปรแกรมในส่วนอื่นๆ เช่น อยู่คนละ namespace หรือไฟล์

private

ตัวแปรสามารถเข้าถึงได้โดยคลาสเดียวกันหรือ struct เดียวกัน

protected

ตัวแปรสามารถเข้าถึงได้โดยคลาสเดียวกันหรือ struct เดียวกัน หรือในคลาสที่ได้รับการถ่ายทอด (inherit) มายัง

internal

ตัวแปรสามารถเข้าถึงได้โดยโปรแกรมเดียวกันเท่านั้น หรือในคลาสเดียวกัน ไม่สามารถเข้าถึงจากภายนอกคลาสได้
ต่อไปมาดูตัวอย่างของการกำหนดระดับของการเข้าถึงในภาษา C# อย่างไรก็ตามคุณได้เห็นบ้างแล้วในบทเรียนที่ผ่านมา
using System;

namespace EncapsulationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Planet a = new Planet();
            a.name = "Mars";
            a.SetRadius(3390);

            Console.WriteLine("Planet name = " + a.name);
            Console.WriteLine("Planet radius = " + a.GetRadius() + " km");

            Console.ReadKey();
        }
    }

    class Planet {

        public string name;
        private int radius;
        
        public void SetRadius (int r) {
            radius = r;
        }

        public int GetRadius () {
            return radius;
        }
    }
}
ใน ตัวอย่างด้านบน เป็นตัวอย่างการใช้ access modifier แบบ public และ private ในการสร้างตัวแปรที่อยูในคลาส Planet หลังจากนั้นเราไปสร้างออบเจ็คของคลาสนี้ในคลาสหลักของเรา คลาส Program ในการเข้าถึงตัวแปร name ของออบเจ็คสามารถเข้าผ่านคำสั่ง a.name ได้ในทันที แต่สำหรับตัวแปร radius นั้นเนื่องจากระดับการเข้าถึงเป็น private เราจะต้องเข้าถึงผ่านเมธอด SetRadius และ GetRadius ที่สร้างขึ้นในคลาสและกำหนดระดับการเข้าถึงให้กับฟังก์ชันเหล่านี้เป็น public
ใน บทนี้คุณได้เรียนรู้เกี่ยวกับ Encapsulation ในภาษา C# ซึ่งเป็นการกำหนดระดับในการเข้าถึงข้อมูลระดับต่างๆ เพื่อช่วยให้การจัดการต่างๆ ในการเขียนโปรแกรมง่ายขึ้น หรือช่วยปกติความลับบางอย่างในโปรแกรมของเรา

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

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

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...