Phương thức Getters và Setters trong C++

Phuong Thuc Getters Va Setters Trong C



Một trong những ngôn ngữ cấp cao được sử dụng rộng rãi nhất là C++, giúp chúng ta thực hiện nhiều hoạt động và chức năng khác nhau. Ngoài ra, nó còn cung cấp một số tệp tiêu đề chứa các khai báo hàm và chúng tôi có thể tạo các lớp bằng mã C++. Những tính năng này làm cho công việc của chúng tôi thuận tiện hơn. Cốt lõi của nguyên tắc đóng gói là getters và setters. Getters làm cho dữ liệu riêng tư có thể được truy cập công khai. Họ cũng có thể phần nào thay đổi kết quả được trả về. Setters cho phép thay đổi một biến riêng tư. Chúng rất quan trọng vì chúng có thể đưa ra xác nhận trước khi đặt giá trị. Hãy áp dụng các getters và setters này trong mã C++ của chúng tôi tại đây.

Ví dụ 1:

Chúng tôi sử dụng các tệp tiêu đề ở đây để bắt đầu mã của mình vì chúng có sẵn để phát triển C++. Chúng tôi tải các tệp tiêu đề cần thiết để chạy mã này để bắt đầu. Các tệp tiêu đề “chuỗi” và “iostream” được bao gồm trong mã này. Sau đó, chúng tôi bao gồm “không gian tên std” sau đó.







Sau đó, chúng ta tạo một lớp “Bảng” ở đây và khởi tạo một biến riêng có tên là “count” với kiểu dữ liệu “int” và lưu trữ “15” trong đó làm giá trị. Sau đó, chúng tôi chèn từ khóa “công khai”. Sau đó, chúng ta tạo một hàm có tên là “getCount()”. Kiểu dữ liệu của nó là “int”. Đây là chức năng getter ở đây. Chúng ta trả về “số” này trong hàm này bằng cách sử dụng từ khóa “return”. Sau đó, chúng ta gọi hàm “main()” sau để tạo đối tượng của lớp trước với tên “T_obj”. Sau đó, chúng ta gọi hàm “getCount()” với đối tượng lớp này trong câu lệnh “cout” để lấy giá trị count và in kết quả ở đây.



Mã 1:

#bao gồm

#include

sử dụng không gian tên tiêu chuẩn ;

lớp học Bàn

{

riêng tư :
int đếm = mười lăm ;
công cộng :
int đếm ( )
{
trở lại đếm ;
}
} ;
int chủ yếu ( )
{
Bảng T_obj ;


cout << 'Chúng tôi nhận được các số của bảng ở đây là:' << T_obj. đếm ( ) ;

}

Đầu ra:

Sau khi biên dịch mã này đầy đủ và thành công, chúng ta nhận được đầu ra mong muốn này, trong đó chúng ta có thể thấy rằng nó nhận giá trị đếm và hiển thị ở đây là “15”. Nó được khởi tạo bên trong lớp “private”.







Ví dụ 2:

Các tệp tiêu đề “chuỗi” và “iostream” cần thiết cho mã này được bao gồm ở đây. Sau đó, “không gian tên std” sẽ được đưa vào. Tiếp theo, chúng ta tạo một phiên bản mới của lớp “MySquareClass”, khởi tạo một biến riêng tư có tên là “squareSide” với kiểu dữ liệu “int” và đặt giá trị của nó thành “5”. Sau đó, từ khóa “public” được thêm vào và một hàm có tên “getSquareSide()” với kiểu dữ liệu “int” được phát triển.

Ở đây, nó được gọi là hàm 'getter'. Bên trong này, chúng ta “trả lại” “squareSide”. Vì vậy, khi chúng ta gọi hàm này, nó sẽ trả về giá trị “squareSide”. Sau đó, chúng ta đặt một hàm khác gọi là “getSquarePerimeter()”. Ở đây, chúng ta đặt công thức tìm chu vi để nó trả về chu vi hình vuông sau khi lấy giá trị cạnh hình vuông và nhân nó với “4”. Chúng ta cũng cần tìm diện tích của hình vuông. Với mục đích này, chúng tôi phát triển thêm một hàm nữa có tên là “getSquareArea()” và tính diện tích hình vuông với sự trợ giúp của công thức nhân các cạnh của hình vuông. Nó trả về diện tích hình vuông bất cứ khi nào chúng ta gọi nó và nhận giá trị của cạnh hình vuông từ biến “squareSide” trước đó.



Bây giờ, chúng ta cần gọi các hàm này. Chúng ta gọi “main()” và sau đó tạo một đối tượng “MySquareClass” với tên “sq_obj1”. Sau đó, chúng ta gọi và in riêng cả ba hàm với đối tượng lớp này.

Mã 2:

#bao gồm

#include

sử dụng không gian tên tiêu chuẩn ;

lớp học Lớp học của tôi

{

riêng tư :

int hình vuông bên = 5 ;
công cộng :
int getSquareSide ( )
{
trở lại hình vuông bên ;
}
int getSquarePerimeter ( )
{
trở lại hình vuông bên * 4 ;
}
int getSquareDiện tích ( )
{
trở lại hình vuông bên * hình vuông bên ;
}
} ;
int chủ yếu ( )
{
MySquareClass sq_obj1 ;

cout << 'Cạnh của hình vuông =' <<

sq_obj1. getSquareSide ( ) << kết thúc ;

cout << 'Chu vi của hình vuông =' <<

sq_obj1. getSquarePerimeter ( ) << kết thúc ;

cout << 'Diện tích hình vuông =' <<

sq_obj1. getSquareDiện tích ( ) << kết thúc ;

}

Đầu ra:

Đầu tiên, nó hiển thị cạnh của hình vuông là “5”, với sự trợ giúp của hàm “getSquareSide()”. Sau đó, nó in chu vi của hình vuông bằng cách sử dụng hàm “getSquarePerimeter()” và diện tích của hình vuông bằng hàm “getSquareArea()”.

Ví dụ 3:

Ở đây, chúng ta có lớp “Driver”, trong đó chúng ta đặt từ khóa “private” và khai báo “driverSalary” là thành viên riêng tư với kiểu dữ liệu “int”. Sau đó, chúng ta có “public” nơi chúng ta tạo hàm “setDriverSalary” và chuyển “int d_s” làm tham số của hàm này. Đây là hàm setter ở đây trong mã này. Bây giờ, chúng ta gán “d_s” cho biến “driverSalary” bên trong hàm này.

Sau đó, chúng ta tạo hàm getter có tên là “getDriverSalary” và trả về lương của người lái xe. Bây giờ, sau khi gọi “main()”, chúng ta tạo một đối tượng của lớp là ”driverObj_1” và đặt giá trị lương của tài xế bằng cách gọi hàm “setDriverSalary()” và truyền “30000” làm tham số của nó. lương của tài xế. Sau đó, chúng ta in mức lương này bằng cách gọi hàm “getDriverSalary()”.

Mã 3:

#include

sử dụng không gian tên tiêu chuẩn ;

lớp học Tài xế {

riêng tư :
int lương tài xế ;
công cộng :
trống rỗng setDriverSalary ( int d_s ) {
lương tài xế = d_s ;
}
int nhận được Lương của tài xế ( ) {
trở lại lương tài xế ;
}
} ;
int chủ yếu ( ) {
Trình điều khiểnObj_1 ;
trình điều khiểnObj_1. setDriverSalary ( 30000 ) ;


cout << 'Tiền lương của tài xế là:' << trình điều khiểnObj_1. nhận được Lương của tài xế ( ) ;

trở lại 0 ;

}

Đầu ra:

Ở đây, chúng ta đặt lương cho tài xế và nhận lương sau khi cài đặt và hiển thị trên màn hình đầu ra.

Ví dụ 4:

Lớp “Person” được tạo trong mã này, nơi chúng tôi khai báo ba biến “riêng tư” có tên “P_name”, “P_city” và “P_lingu” với kiểu dữ liệu “chuỗi”. Sau đó, chúng ta tạo một hàm tạo 'công khai'. Ở đây, chúng ta đặt hàm “setPersonName()” và đặt “string newName” làm tham số của hàm. Sau đó, chúng tôi gán “newName” này cho biến “P_name”. Sau đó, chúng ta tạo hàm “getPersonCity()” và trả về “P_city”. Theo cách tương tự, chúng ta tạo một hàm khác với tên “setPersonCity()”. Sau đó, chúng ta chuyển “string city” làm tham số.

Biến “city” hiện được gán cho biến “P_city”. ”getPersonLanguage()” là hàm tiếp theo ở đây cũng trả về “P_lingu”. Hơn nữa, chúng tôi cũng định nghĩa hàm “setPersonLanguage()” và truyền cho nó chuỗi “lang” làm tham số. Sau đó, “lang” được gán cho biến “P_lingu”. Sau đó, chúng ta có thêm hai hàm nữa, “lives()” và “speak()”, trong đó chúng ta sử dụng câu lệnh “cout()”.

Sau khi thực thi phương thức “main()”, bây giờ chúng ta tạo một đối tượng của lớp có tên là “p_obj1”. Ở đây, chúng tôi đặt tên người bằng cách chạy hàm “setPersonName()” và cung cấp tên của người đó là “Samuel” làm tham số. Sau đó, chúng ta thiết lập thành phố của người đó bằng cách gọi hàm “setPersonCity()” và truyền “London” làm tham số. Sau đó, chúng tôi cũng đặt ngôn ngữ của người đó bằng cách sử dụng hàm “setPersonLanguage()” và chuyển “English” làm tham số. Bây giờ, chúng ta gọi các hàm “lives()” và “speak()” một cách riêng biệt với đối tượng của lớp “p_obj1”.

Mã 4:

#include

sử dụng không gian tên tiêu chuẩn ;

lớp học Người

{

riêng tư :
chuỗi P_name ;
chuỗi P_city ;
chuỗi P_ngôn ngữ ;

công cộng :
trống rỗng setPersonName ( chuỗi tên mới ) {
tên P_ = tên mới ;
}

chuỗi getPersonCity ( ) {
trở lại P_city ;
}

trống rỗng setPersonThành phố ( thành phố chuỗi ) {
P_city = thành phố ;
}

chuỗi getPersonLanguage ( ) {
trở lại P_ngôn ngữ ;
}

trống rỗng setPersonLanguage ( dây lang ) {
P_ngôn ngữ = chỉ ;
}

trống rỗng cuộc sống ( )
{


cout << tên P_ << ' sống ở ' << P_city << kết thúc ;

}

trống rỗng nói chuyện ( )
{


cout << tên P_ << 'nói' << P_ngôn ngữ << kết thúc ;

}

} ;

int chủ yếu ( ) {

Người p_obj1 ;
p_obj1. setPersonName ( 'Samuel' ) ;
p_obj1. setPersonThành phố ( 'London' ) ;
p_obj1. setPersonLanguage ( 'Tiếng Anh' ) ;

p_obj1. cuộc sống ( ) ;
p_obj1. nói chuyện ( ) ;

trở lại 0 ;


}

Đầu ra:

Ở đây, nó hiển thị tất cả các giá trị mà chúng tôi đặt trong mã của mình. Chúng tôi nhận được kết quả này bằng cách gọi hàm mà chúng tôi đã tạo.

Phần kết luận

Chúng ta đã khám phá các getters và setters trong lập trình C++ trong hướng dẫn này. Chúng tôi đã giải thích rằng các phương thức “getter” và “setter” cung cấp khả năng trừu tượng hóa và đóng gói tốt hơn cho các hoạt động nội bộ của lớp. Ngoài ra, chúng tôi đã khám phá rằng chức năng hợp lệ của dữ liệu để bảo vệ thành viên dữ liệu vẫn được giữ lại, cho phép lớp thay đổi mã của nó mà không ảnh hưởng đến mã bên ngoài. Chúng tôi đã thực hiện điều này với mã C++ bằng cách sử dụng các getters và setters này.