Phương thức tĩnh C++

Phuong Thuc Tinh C



Một phương thức trong C++ còn được gọi là một hàm và việc sử dụng các phương thức trong C++ thúc đẩy khái niệm lập trình mô-đun và khả năng sử dụng lại mã. Điều đó có nghĩa là các phương thức đã được viết một lần có thể được gọi lặp đi lặp lại nhiều lần nếu cần mà không cần phải viết chúng mỗi lần. Các phương thức này có ba thuộc tính cơ bản sau:
  • Các phương thức tĩnh có thể được truy xuất trực tiếp bằng tên lớp và toán tử phân giải phạm vi mà không cần tạo bất kỳ đối tượng nào.
  • Các phương thức tĩnh của một lớp chỉ có thể truy cập các thành viên tĩnh của lớp đó.
  • Các phương thức tĩnh không thể truy cập các thành viên không tĩnh của một lớp.

Chúng tôi đã thiết kế bài viết này để hướng dẫn bạn cách sử dụng các phương thức tĩnh trong C++ trên Ubuntu 20.04.

Sử dụng Phương thức tĩnh trong C++ trong Ubuntu 20.04

Để sử dụng các phương thức tĩnh trong C++ trong Ubuntu 20.04, trước tiên bạn cần xem qua tất cả các ví dụ được cung cấp bên dưới để có ý tưởng tốt về cách các hàm này hoạt động trong C++.







Ví dụ #1: Khám phá thuộc tính đầu tiên của các phương thức tĩnh trong C++

Trong ví dụ này, chúng tôi muốn khám phá thuộc tính đầu tiên của các phương thức tĩnh trong C++; các phương thức tĩnh của một lớp có thể được truy cập trực tiếp bằng tên lớp trong khi sử dụng toán tử phân giải phạm vi. Để làm được điều đó, chúng tôi đã viết một tập lệnh C++ được hiển thị trong hình ảnh sau:



  Phương thức tĩnh C++



Trong tập lệnh C++ này, chúng tôi đã định nghĩa một lớp có tên là “Số”. Bên trong phần thân của lớp này, chúng ta chỉ có một hàm công khai. Chúng tôi đã khai báo chức năng này là 'tĩnh'. Tên của chức năng này là “ InNum ”, và nó lấy số “n” làm tham số duy nhất. Trong chức năng này, chúng tôi chỉ muốn in ra giá trị của số đã truyền này trên thiết bị đầu cuối. Như bạn có thể thấy, chúng tôi chưa định nghĩa bất kỳ hàm tạo nào cho lớp này. Điều này có nghĩa là chúng tôi không có ý định tạo đối tượng của nó. Thay vào đó, chúng ta sẽ truy cập trực tiếp các chức năng của lớp này.





Bây giờ, trong “ chính() ” chức năng, chúng tôi đã truy cập vào “ InNum ” của lớp “Số” với sự trợ giúp của tên lớp và toán tử phân giải phạm vi. Trong khi gọi hàm này, chúng tôi đã chuyển cho nó một số ngẫu nhiên, tức là 25. “ chính() ” hàm kết thúc bằng câu lệnh “return 0” vì chúng ta đã khai báo nó có kiểu trả về số nguyên.

Khi chúng tôi biên dịch và thực thi tập lệnh C++ này, số của chúng tôi được in chính xác trên thiết bị đầu cuối, như trong hình bên dưới. Điều đó có nghĩa là thuộc tính đầu tiên của các phương thức tĩnh trong C++ đã được thỏa mãn — các phương thức tĩnh có thể được truy cập trực tiếp bằng tên lớp mà không cần tạo bất kỳ đối tượng nào và chúng hoạt động chính xác như dự định.



  Phương thức tĩnh trong C++

Ví dụ #2: Khám phá thuộc tính thứ hai của các phương thức tĩnh trong C++

Trong ví dụ này, chúng tôi muốn khám phá thuộc tính thứ hai của các phương thức tĩnh trong C++; các phương thức tĩnh của một lớp chỉ có thể truy cập các thành viên tĩnh của lớp đó. Để làm được điều đó, chúng tôi đã viết một tập lệnh C++ được hiển thị trong hình ảnh sau:

Trong tập lệnh C++ này, trước tiên chúng ta định nghĩa một lớp có tên là “Số”. Bên trong phần thân của lớp này, chúng tôi có một thành viên riêng “x” có kiểu dữ liệu số nguyên và chúng tôi đã làm cho nó tĩnh. Sau đó, chúng tôi chỉ có một chức năng công cộng. Chúng tôi đã khai báo chức năng này là “ tĩnh ”. Tên của chức năng này là “ InNum ”, và nó lấy số “n” làm tham số duy nhất. Trong chức năng này, chúng tôi muốn in ra giá trị của số đã truyền này trên thiết bị đầu cuối và giá trị của thành viên tĩnh “x”.

Sau đó, chúng tôi đã khởi tạo thành viên tĩnh “x” với giá trị “10” với sự trợ giúp của tên lớp bên ngoài lớp của chúng tôi mà không cần sử dụng lại từ khóa “static”. Bây giờ, trong “ chính() ” chức năng, chúng tôi đã truy cập vào “ InNum ” của lớp “Số” với sự trợ giúp của tên lớp và toán tử phân giải phạm vi. Trong khi gọi hàm này, chúng tôi đã chuyển cho nó một số ngẫu nhiên, tức là 25. “ chính() ” hàm kết thúc bằng câu lệnh “return 0” vì chúng ta đã khai báo nó có kiểu trả về số nguyên.

Khi chúng tôi biên dịch và thực thi tập lệnh C++ này, số của chúng tôi, cũng như giá trị của biến “x”, được in chính xác trên thiết bị đầu cuối, như trong hình bên dưới. Điều đó có nghĩa là thuộc tính thứ hai của các phương thức tĩnh trong C++ đã được thỏa mãn — các phương thức tĩnh chỉ có thể truy cập các thành viên tĩnh của một lớp trong C++.

Ví dụ #3: Khám phá thuộc tính thứ ba của các phương thức tĩnh trong C++

Trong ví dụ này, chúng tôi muốn khám phá thuộc tính thứ ba của các phương thức tĩnh trong C++, trên thực tế, đây là cách khác để nêu thuộc tính thứ hai; các phương thức tĩnh không thể truy cập các thành viên không tĩnh của một lớp. Để làm được điều đó, chúng tôi đã viết một tập lệnh C++ được hiển thị trong hình ảnh sau:

Tập lệnh C++ này giống hệt như tập lệnh được hiển thị trong ví dụ thứ hai. Tuy nhiên, điểm khác biệt duy nhất là lần này, chúng ta chưa khai báo biến “x” là tĩnh.

Khi chúng tôi biên dịch và thực thi tập lệnh C++ này, một thông báo lỗi đã được tạo trên thiết bị đầu cuối như trong hình bên dưới, cho biết giá trị của “x” không thể được truy cập bằng một phương thức tĩnh trong C++. Điều đó có nghĩa là thuộc tính thứ ba của các phương thức tĩnh trong C++ đã được thỏa mãn — các phương thức tĩnh không thể truy cập bất kỳ thành viên không tĩnh nào của một lớp trong C++.

Ví dụ #4: Tạo số cuộn liên tiếp bằng cách sử dụng các phương thức tĩnh trong C++

Trong ví dụ này, chúng tôi chỉ muốn đưa ra một cái nhìn tổng thể về cách thức hoạt động của các phương thức tĩnh trong C++ bằng cách tóm tắt các ví dụ của chúng tôi. Chúng tôi sẽ chỉ tạo một chương trình để tạo một số số cuộn trong phạm vi được cung cấp. Để làm được điều đó, chúng tôi đã viết một tập lệnh C++ được hiển thị trong hình ảnh sau:

Trong kịch bản C++ này, chúng ta có một lớp tên là “RollNumber”. Trong lớp này, chúng tôi có một thành viên tĩnh riêng 'RollNum' của kiểu dữ liệu số nguyên. Sau đó, chúng ta có một phương thức tĩnh công khai “ getRollNum() ” với kiểu trả về số nguyên. Ngoài định nghĩa của lớp này, chúng ta đã khởi tạo biến “RollNum” với giá trị “1” và định nghĩa “ getRollNum() ” để trả về “RollNum” tăng dần mỗi khi nó được gọi.

Sau đó, trong “ chính() ”, chúng ta có một vòng lặp “for” lặp qua một biến đếm từ “0” đến “9”, tức là 10 lần lặp. Bên trong vòng lặp này, chúng tôi muốn in giá trị được trả về bởi “ getRollNum() ” chức năng cho mỗi lần lặp lại. Một lần nữa, “ chính() ” hàm kết thúc bằng câu lệnh “return 0”.

Khi chúng tôi biên dịch và thực thi tập lệnh C++ này, một loạt 10 số cuộn khác nhau đã được tạo trên thiết bị đầu cuối như trong hình sau:

Sự kết luận

Mục tiêu của chúng tôi cho bài viết này là hướng dẫn bạn cách sử dụng các phương thức tĩnh trong C++ trên Ubuntu 20.04. Chúng tôi đã chia sẻ các thuộc tính cơ bản của các phương thức này, tiếp theo là bốn ví dụ mà qua đó bạn có thể tìm hiểu ngay cách các phương thức này hoạt động trong C++. Sau khi hiểu những ví dụ này, bạn có thể dễ dàng nắm bắt tốt các phương thức tĩnh trong C++. Chúng tôi hy vọng bạn thấy bài viết này hữu ích và hãy xem Linux Hint để biết thêm các bài viết thông tin.