Từ khóa static dùng để khai báo biến lớp và phương thức. Nó thường quản lý bộ nhớ cho biến dữ liệu toàn cục. Các biến và phương thức tĩnh là thành viên của lớp thay vì một cá thể riêng lẻ. Biến hoặc các phương thức static giống nhau đối với mọi thể hiện của lớp, vì vậy nếu chúng ta khai báo thành viên dữ liệu là static thì chúng ta có thể truy cập nó mà không cần tạo một đối tượng. Đối tượng lớp không bắt buộc phải truy cập vào phương thức hoặc biến static, chúng ta có thể truy cập nó bằng cách đặt tên lớp trước biến hoặc phương thức tĩnh. Sử dụng tên lớp, chúng ta có thể gọi phương thức của lớp từ các lớp khác.
Các bài viết liên quan:
Biến Static
Một biến được khai báo bằng từ khóa static bên trong lớp được gọi là từ khóa Dart static. Đây là thành viên của lớp thay vì một cá thể cụ thể. Các biến tĩnh được xử lý giống nhau cho tất cả các case của lớp; nó có nghĩa là một bản sao duy nhất của biến tĩnh được chia sẻ giữa tất cả các case của các lớp. Nó cấp phát bộ nhớ một lần và tại lớp tải và sử dụng trong suốt chương trình.
Điểm cần nhớ –
- Biến tĩnh cũng được xác định là một biến lớp.
- Một bản sao của biến tĩnh được chia sẻ giữa các phiên bản của một lớp.
- Nó có thể được truy cập bằng cách sử dụng tên lớp. Chúng ta không cần tạo một đối tượng của lớp đó mà chúng thuộc về.
- Các biến tĩnh có thể được truy cập trực tiếp trong các phương thức tĩnh.
Khai báo Static
Dart cung cấp từ khóa static để khai báo biến static. Nó được khai báo bằng cách sử dụng từ khóa static theo sau là tên biến. Cú pháp được đưa ra dưới đây.
Cú pháp:
- static [kiểu_dữ_liệu] [tên_biến];
Truy cập Static
Chúng ta có thể truy cập biến static bằng cách sử dụng chính tên lớp thay vì tạo một đối tượng của nó. Cú pháp được đưa ra dưới đây.
Cú pháp:
- ClassName.staticVariableName;
Phương pháp Static
Khái niệm về phương thức static cũng tương tự như biến static. Các phương thức tĩnh là thành viên của lớp thay vì thể hiện của lớp. Các phương thức tĩnh chỉ có thể sử dụng các biến tĩnh và có thể gọi phương thức tĩnh của lớp. Chúng ta không cần tạo một thể hiện của lớp để truy cập nó. Phương thức static rất hữu ích khi chúng ta muốn sử dụng nó trong các lớp khác.
Những điểm cần nhớ
- Các phương thức tĩnh là lớp thành viên thay vì đối tượng của nó.
- Các phương thức tĩnh cũng được xác định là các phương thức lớp.
- Chúng ta có thể truy cập các phương thức tĩnh bằng cách sử dụng tên lớp.
- Một bản sao cụ thể của phương thức tĩnh được phân phối giữa tất cả các phiên bản của một lớp.
Khai báo các phương thức tĩnh
Chúng ta có thể khai báo phương thức static bằng cách sử dụng từ khóa static theo sau là tên phương thức với kiểu trả về. Cú pháp được đưa ra dưới đây.
Cú pháp:
- static return_type method_name () {
- //các câu lệnh)
- }
Gọi phương thức tĩnh
Các phương thức tĩnh có thể được gọi bằng cách sử dụng tên lớp, mà chúng thuộc về thay vì tạo một đối tượng.
Cú pháp:
- className.staticMethod ();
Hãy hiểu ví dụ sau.
Ví dụ:
class Student { static String stdBranch = ""; // Khai báo biến tĩnh String stdName = ""; int roll_num = 0; showStdInfo() { print("Tên sinh viên là: ${stdName}"); print("Lương của sinh viên là: ${roll_num}"); print("Tên chi nhánh của sinh viên là: ${stdBranch}"); } } void main () { Student std1 = new Student(); // Tạo các phiên bản của lớp sinh viên Student std2 = new Student(); // Gán giá trị của biến tĩnh bằng tên lớp Student.stdBranch = "Khoa học Máy tính"; std1.stdName = "test1"; std1.roll_num = 90013; std1.showStdInfo(); std2.stdName = "test2"; std2.roll_num = 90014; std2.showStdInfo(); }
Giải trình:
Trong đoạn mã trên, chúng ta đã khai báo lớp có tên là Student , lớp này có ba trường bao gồm biến tĩnh stdBranch và một phương thức showStdInfo () . Chúng tôi đã tạo hai phiên bản của lớp Sinh viên và gán giá trị cho các biến lớp.Biến tĩnh stdBranch được truy cập bằng cách sử dụng tên lớp và giá trị được gán. Sau đó, chúng tôi gọi hàm showStdInfo () bởi các đối tượng std1 và stu2. Nó in thông tin chi tiết của sinh viên như một đầu ra.