Phương pháp tĩnh và không tĩnh
Một phương thức là một chuỗi các câu lệnh được thực hiện để thực hiện một nhiệm vụ cụ thể. Phương pháp có thể lấy đầu vào và sản xuất đầu ra. Các phương thức tĩnh và không tĩnh là hai loại phương thức có trong các ngôn ngữ lập trình hướng đối tượng. Một phương thức tĩnh là một phương thức được liên kết với một lớp. Một phương thức được liên kết với một đối tượng được gọi là phương thức không tĩnh (thể hiện). Trong các ngôn ngữ hướng đối tượng, các phương thức được sử dụng như một cơ chế để hoạt động trên dữ liệu được lưu trữ trong các đối tượng.
Phương pháp tĩnh là gì?
Trong lập trình hướng đối tượng, phương thức tĩnh là một phương thức được liên kết với một lớp. Do đó, các phương thức tĩnh không có khả năng hoạt động trên một thể hiện cụ thể của một lớp. Các phương thức tĩnh có thể được gọi mà không cần sử dụng một đối tượng của lớp có chứa phương thức tĩnh. Sau đây là một ví dụ về định nghĩa một phương thức tĩnh trong Java. Tĩnh phải được sử dụng khi định nghĩa một phương thức tĩnh trong Java.
lớp học công cộng MyClass khoảng trống công khai MyStaticMethod () // mã của phương thức tĩnhPhương thức tĩnh được định nghĩa ở trên có thể được gọi như sau bằng cách sử dụng tên của lớp mà nó thuộc về.
MyClass.MyStaticMethod ();
Một điều quan trọng cần lưu ý là các phương thức tĩnh chỉ có thể truy cập các thành viên tĩnh.
Phương pháp không tĩnh là gì?
Một phương thức không tĩnh hoặc một phương thức cá thể là một phương thức được liên kết với một đối tượng trong một lớp. Do đó, các phương thức không tĩnh được gọi bằng cách sử dụng một đối tượng của lớp trong đó phương thức được định nghĩa. Một phương thức không tĩnh có thể truy cập các thành viên không tĩnh cũng như các thành viên tĩnh của một lớp. Trong nhiều ngôn ngữ hướng đối tượng (như C ++, C #, Java), khi một phương thức không tĩnh được gọi, đối tượng đã gọi phương thức đó được truyền dưới dạng một đối số ngầm (nó được gọi là tham chiếu 'this'). Vì vậy, bên trong phương thức từ khóa này có thể được sử dụng để chỉ đối tượng được gọi là phương thức. Sau đây là một ví dụ về định nghĩa một phương thức cá thể trong Java.
lớp học công cộng MyClass khoảng trống công khai MyInstanceMethod () // mã của phương thức cá thể
Phương thức cá thể được định nghĩa ở trên có thể được gọi như sau bằng cách sử dụng một đối tượng của lớp mà nó thuộc về.
MyClass objMyClass = new MyClass ();
objMyClass.MyInstanceMethod ();
Sự khác biệt giữa phương pháp tĩnh và không tĩnh?
Các phương thức tĩnh là các phương thức được liên kết với một lớp, trong khi các phương thức không tĩnh là các phương thức được liên kết với các đối tượng của một lớp. Một lớp cần được khởi tạo trước để gọi một phương thức không tĩnh, nhưng các phương thức tĩnh không có yêu cầu này. Chúng có thể được gọi đơn giản bằng cách sử dụng tên của lớp chứa phương thức tĩnh. Một sự khác biệt quan trọng khác là một phương thức không tĩnh thường có một tham chiếu đến đối tượng được gọi là phương thức đó và nó có thể được truy cập bằng cách sử dụng từ khóa này bên trong phương thức. Nhưng từ khóa này không thể được sử dụng trong các phương thức tĩnh vì chúng không được liên kết với một đối tượng cụ thể.