Cách kiểm soát công cụ sửa đổi quyền truy cập trong C++: Tìm hiểu khả năng hiển thị của thành viên

Cach Kiem Soat Cong Cu Sua Doi Quyen Truy Cap Trong C Tim Hieu Kha Nang Hien Thi Cua Thanh Vien



Ẩn dữ liệu là một trong những tính năng chính của C++, đề cập đến việc hạn chế quyền truy cập dữ liệu trong một lớp để ngăn chặn việc truy cập không mong muốn vào dữ liệu của một lớp từ bên ngoài. Do đó, các công cụ sửa đổi truy cập được sử dụng để xác định thành viên nào của lớp có thể truy cập được từ nguồn bên ngoài nào và nguồn nào không.

Công cụ sửa đổi truy cập trong C++

Công cụ sửa đổi quyền truy cập được sử dụng để quản lý khả năng truy cập và khả năng hiển thị dữ liệu của một lớp. Họ đặt ra một số hạn chế đối với các thành viên dữ liệu để các chức năng bên ngoài không thể truy cập được. Công cụ sửa đổi truy cập có ba loại trong C++:

Công cụ sửa đổi truy cập công cộng trong C++

Tất cả các thành viên của lớp được khai báo theo từ khóa public sẽ có sẵn cho tất cả các hàm bên ngoài lớp trong chương trình. Toán tử truy cập thành viên trực tiếp (.) còn được gọi là toán tử dấu chấm có thể được sử dụng với đối tượng của lớp cụ thể đó để truy cập các thành viên dữ liệu này.







Ví dụ

Công cụ sửa đổi truy cập công khai được sử dụng để khai báo một lớp và các thành viên dữ liệu của nó được truy cập bởi các hàm khác trong chương trình.



#include

#include

#include

sử dụng không gian tên std ;
lớp tam giác
{
công cộng :
trôi nổi x , , Với ;
trống rỗng đầu vào ( )
{
cout << 'Nhập cạnh x của một tam giác:-' ;
Ăn >> x ;
cout << 'Nhập cạnh y của một tam giác:-' ;
Ăn >> ;
cout << 'Nhập cạnh z của một tam giác:-' ;
Ăn >> Với ;
}
trống rỗng Khu vực ( )
{
trôi nổi S = ( x + + Với ) / 2 ;
trôi nổi khu vực = mét vuông ( S * ( S - x ) * ( S - ) * ( S - Với ) ) ;
cout << ' \N Diện tích tam giác =' << khu vực ;
}
} ;
int chủ yếu ( )
{
Tam giác t1 ;
t1. đầu vào ( ) ;
t1. Khu vực ( ) ;
trở lại 0 ;
}

Tam giác được định nghĩa là lớp và các tham số của nó nằm dưới từ khóa public. Sau đó, diện tích của tam giác được tính bên ngoài lớp này thông qua việc truy cập các thành viên dữ liệu của public modifier.







Ba cạnh của tam giác là do người dùng nhập vào và diện tích của tam giác được tính bằng cách truy cập các giá trị bên ngoài lớp, sử dụng công thức chuẩn là 13,4164.

Công cụ sửa đổi quyền truy cập riêng tư trong C++

Tất cả các thành viên của lớp được khai báo theo từ khóa riêng tư sẽ không có sẵn cho bất kỳ hàm nào ngoài lớp trong chương trình. Những thành viên riêng tư này chỉ có thể được đọc bởi các thành viên trực tiếp trong cùng một lớp. Tuy nhiên, các hàm và lớp bạn bè cũng có thể truy cập dữ liệu.



Ví dụ

Hai lớp công khai và riêng tư được khai báo và giá trị trả về của chương trình là diện tích của tam giác.

#include

#include

#include

sử dụng không gian tên std ;
lớp tam giác
{

riêng tư :
trôi nổi x , , Với ;
công cộng :
trống rỗng đầu vào ( )

{

cout << 'Nhập cạnh x của một tam giác:-' ;
Ăn >> x ;
cout << 'Nhập cạnh y của một tam giác:-' ;
Ăn >> ;
cout << 'Nhập cạnh z của một tam giác:-' ;
Ăn >> Với ;

}
trống rỗng Khu vực ( )
{

trôi nổi S = ( x + + Với ) / 2 ;
trôi nổi khu vực = mét vuông ( S * ( S - x ) * ( S - ) * ( S - Với ) ) ;
cout << ' \N Diện tích tam giác =' << khu vực ;

}

} ;

int chủ yếu ( )
{
Tam giác t1 ;
t1. đầu vào ( ) ;
t1. Khu vực ( ) ;
trở lại 0 ;

}

Trong main(), đối tượng t1 không thể truy cập trực tiếp vào biến lớp riêng float x, y và z, do đó nó chỉ có thể được thao tác gián tiếp thông qua hàm public input(), vì hàm này lấy các giá trị của x, y và z.

Diện tích của tam giác có được bằng cách truy cập lớp riêng tư thông qua thao tác với lớp công khai. Nếu các giá trị của x, y và z không được khai báo trong lớp public thì chúng sẽ không được truy cập trong hàm main() để tính toán.

Công cụ sửa đổi quyền truy cập được bảo vệ trong C++

Các thành viên và hàm trong từ khóa protected đều được bảo vệ, chúng chỉ có thể được truy cập trong lớp và lớp dẫn xuất. Các lớp còn lại không thể truy cập dữ liệu của họ. Họ được bảo vệ cao.

Ví dụ

Dữ liệu được bảo vệ theo từ khóa protected chỉ có thể được đọc trong lớp và bởi lớp là lớp dẫn xuất. Ví dụ này là minh họa thực tế về công cụ sửa đổi quyền truy cập được bảo vệ.

#include

#include

#include

sử dụng không gian tên std ;
//lớp cha
lớp tam giác
{

được bảo vệ :
trôi nổi x , , Với ;
} ;
//lớp con
lớp Tam giácCon : tam giác công cộng {
công cộng :
trống rỗng đầu vào ( )

{

cout << 'Nhập cạnh x của một tam giác:-' ;
Ăn >> x ;
cout << 'Nhập cạnh y của một tam giác:-' ;
Ăn >> ;
cout << 'Nhập cạnh z của một tam giác:-' ;
Ăn >> Với ;

}
trống rỗng Khu vực ( )
{
trôi nổi S = ( x + + Với ) / 2 ;
trôi nổi khu vực = mét vuông ( S * ( S - x ) * ( S - ) * ( S - Với ) ) ;
cout << ' \N Diện tích tam giác =' << khu vực ;

}
} ;

int chủ yếu ( )

{
Tam GiácCon Con ;
Đứa trẻ. đầu vào ( ) ;
Đứa trẻ. Khu vực ( ) ;
trở lại 0 ;

}

TriangleChild là lớp được kế thừa từ lớp Triangle. Các biến x, y và z được khai báo trong Triangle với từ khóa protected. Điều này có nghĩa là các biến này được bảo vệ nhưng TriangleChild có thể truy cập được vì Triangle là lớp cha của nó. Giá trị của các biến đã được gán trong TriangleChild mặc dù chúng được khai báo trong lớp Triangle.

Các biến được truy cập thông qua lớp con và sau đó tính diện tích của một hình tam giác.

Phần kết luận

Ẩn dữ liệu ngăn chặn việc truy cập không mong muốn vào dữ liệu của một lớp từ bên ngoài. Công cụ sửa đổi quyền truy cập được sử dụng để quản lý khả năng truy cập và khả năng hiển thị của dữ liệu trong chương trình. Công cụ sửa đổi quyền truy cập riêng tư, được bảo vệ và công khai được sử dụng để ẩn dữ liệu. Dữ liệu theo từ khóa public cũng có thể được đọc bởi các hàm từ bên ngoài lớp. Dữ liệu được khai báo là riêng tư chỉ có thể được đọc trong lớp, trong khi dữ liệu được bảo vệ cũng có thể được truy cập bởi lớp cha và lớp con.