Đóng gói được định nghĩa 'là quá trình bao quanh một hoặc nhiều mục trong gói vật lý hoặc logic'. Đóng gói, trong phương pháp lập trình hướng đối tượng, ngăn chặn truy cập vào chi tiết thực hiện.
Trừu tượng hóa và đóng gói là các tính năng liên quan trong lập trình hướng đối tượng. Trừu tượng cho phép hiển thị thông tin liên quan và đóng gói cho phép lập trình viên thực hiện mức độ trừu tượng mong muốn .
Đóng gói được thực hiện bằng cách sử dụng các chỉ định truy cập . Một specifier truy cập xác định phạm vi và khả năng hiển thị của một thành viên lớp. C # hỗ trợ các chỉ định truy cập sau -
public
private
Được bảo vệ
Nội bộ
Bảo vệ nội bộ
Công cụ xác định truy cập public
Trình xác định truy cập public 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ó cho các hàm và đối tượng khác. Bất kỳ thành viên nào cũng có thể được truy cập từ bên ngoài lớp học.
Ví dụ sau minh họa điều này
Hàm thành viên Display () và GetArea () cũng có thể truy cập trực tiếp các biến này mà không cần sử dụng bất kỳ trường hợp nào của lớp.
Các hàm thành viên Display () cũng được khai báo công khai , do đó, nó cũng có thể được truy cập từ Main () bằng cách sử dụng một thể hiện của lớp Hình chữ nhật, có tên r .
Công cụ xác định truy cập riêng
Trình xác định truy cập riêng 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 khỏi các hàm và đối tượng khác. Chỉ các chức năng của cùng một lớp có thể truy cập các thành viên tư nhân của nó. Ngay cả một thể hiện của một lớp cũng không thể truy cập các thành viên riêng của nó.
Ví dụ sau minh họa điều này
Công cụ xác định truy cập nội bộ
Trình xác đị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ó cho các hàm và đối tượng khác trong cụm hiện tại. Nói cách khác, 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.
Chương trình sau đây minh họa điều này
Công cụ xác định truy cập nội bộ được bảo vệ
Trình xác định truy cập nội bộ được bảo vệ 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 khỏi các đối tượng và hàm khác của lớp, ngoại trừ một lớp con trong cùng một ứng dụng. Điều này cũng được sử dụng trong khi thực hiện kế thừa.
Trừu tượng hóa và đóng gói là các tính năng liên quan trong lập trình hướng đối tượng. Trừu tượng cho phép hiển thị thông tin liên quan và đóng gói cho phép lập trình viên thực hiện mức độ trừu tượng mong muốn .
Đóng gói được thực hiện bằng cách sử dụng các chỉ định truy cập . Một specifier truy cập xác định phạm vi và khả năng hiển thị của một thành viên lớp. C # hỗ trợ các chỉ định truy cập sau -
public
private
Được bảo vệ
Nội bộ
Bảo vệ nội bộ
Công cụ xác định truy cập public
Trình xác định truy cập public 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ó cho các hàm và đối tượng khác. Bất kỳ thành viên nào cũng có thể được truy cập từ bên ngoài lớp học.
Ví dụ sau minh họa điều này
using System;Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau -
namespace RectangleApplication {
class Rectangle {
//member variables
public double length;
public double width;
public 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();
}
}
}
Length: 4.5Trong ví dụ trước, chiều dài và chiều rộng của biến thành viên được khai báo công khai , do đó chúng có thể được truy cập từ hàm Main () bằng cách sử dụng một thể hiện của lớp Hình chữ nhật, có tên r .
Width: 3.5
Area: 15.75
Hàm thành viên Display () và GetArea () cũng có thể truy cập trực tiếp các biến này mà không cần sử dụng bất kỳ trường hợp nào của lớp.
Các hàm thành viên Display () cũng được khai báo công khai , do đó, nó cũng có thể được truy cập từ Main () bằng cách sử dụng một thể hiện của lớp Hình chữ nhật, có tên r .
Công cụ xác định truy cập riêng
Trình xác định truy cập riêng 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 khỏi các hàm và đối tượng khác. Chỉ các chức năng của cùng một lớp có thể truy cập các thành viên tư nhân của nó. Ngay cả một thể hiện của một lớp cũng không thể truy cập các thành viên riêng của nó.
Ví dụ sau minh họa điều này
using System;Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau -
namespace RectangleApplication {
class Rectangle {
//member variables
private double length;
private double width;
public void Acceptdetails() {
Console.WriteLine("Enter Length: ");
length = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter Width: ");
width = Convert.ToDouble(Console.ReadLine());
}
public 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.Acceptdetails();
r.Display();
Console.ReadLine();
}
}
}
Enter Length:Trong ví dụ trước, chiều dài và chiều rộng của biến thành viên được khai báo là private , do đó chúng không thể được truy cập từ hàm Main (). Các hàm thành viên AcceptDetails () và Display () có thể truy cập các biến này. Vì các hàm thành viên AcceptDetails () và Display () được khai báo công khai , chúng có thể được truy cập từ Main () bằng cách sử dụng một thể hiện của lớp Hình chữ nhật, có tên r .
4.4
Enter Width:
3.3
Length: 4.4
Width: 3.3
Area: 14.52
Công cụ xác định truy cập nội bộ
Trình xác đị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ó cho các hàm và đối tượng khác trong cụm hiện tại. Nói cách khác, 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.
Chương trình sau đây minh họa điều này
using System;Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau -
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();
}
}
}
Length: 4.5Trong ví dụ trước, lưu ý rằng hàm thành viên GetArea () không được khai báo với bất kỳ chỉ định truy cập nào. Sau đó, điều gì sẽ là trình xác định truy cập mặc định của một thành viên lớp nếu chúng ta không đề cập đến bất kỳ? Nó là riêng tư .
Width: 3.5
Area: 15.75
Công cụ xác định truy cập nội bộ được bảo vệ
Trình xác định truy cập nội bộ được bảo vệ 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 khỏi các đối tượng và hàm khác của lớp, ngoại trừ một lớp con trong cùng một ứng dụng. Điều này cũng được sử dụng trong khi thực hiện kế thừa.
No comments:
Post a Comment