Computer >> Máy Tính >  >> Lập trình >> C#

Sự khác biệt giữa các công cụ sửa đổi nội bộ và riêng tư trong C # là gì?

Công cụ chỉ định quyền truy cập nội bộ

Bộ chỉ định truy cập nội bộ cho phép một lớp hiển thị các biến thành viên và các hàm thành viên của nó với các hàm và đối tượng khác trong hợp ngữ hiện tại.

Bất kỳ thành viên nào có chỉ định truy cập nội bộ đều có thể được truy cập từ bất kỳ lớp hoặc phương thức nào được xác định trong ứng dụng mà thành viên đó được xác định.

Sau đây là một ví dụ -

Ví dụ

using System;

namespace RectangleApplication {
   class Rectangle {
      //member variables
      internal double length;
      internal double width;

      double GetArea() {
         return length * width;
      }

      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }//end class Rectangle

   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.length = 4.5;
         r.width = 3.5;
         r.Display();
         Console.ReadLine();
      }
   }
}

Công cụ chỉ định quyền truy cập riêng tư

Bộ xác định quyền truy cập riêng tư cho phép một lớp ẩn các biến thành viên và các hàm thành viên của nó khỏi các hàm và đối tượng khác. Chỉ các hàm của cùng một lớp mới có thể truy cập các thành viên riêng của nó.

Sau đây là một ví dụ -

Ví dụ

using System;

namespace RectangleApplication {
   class Rectangle {
      private double length;
      private double width;

      public void Acceptdetails() {
         length = 10;
         width = 15;
      }

      public double GetArea() {
         return length * width;
      }

      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }

   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine();
      }
   }
}