Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Public và Static mức truy cập khác nhau như thế nào?

  1. #1
    Ngày gia nhập
    08 2021
    Bài viết
    1

    Mặc định Public và Static mức truy cập khác nhau như thế nào?

    Theo như mình được học thì mức truy cập của Public là không giới hạn quyền truy cập. còn static thì các đối tượng thuộc lớp đều có thể truy cập. vậy tại sao khi muốn khai báo một hàm dùng chung cho các lớp thì phải có Static mà không dùng một mình Public thôi?

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    611

    Trích dẫn Nguyên bản được gửi bởi Hair210 Xem bài viết
    Theo như mình được học thì mức truy cập của Public là không giới hạn quyền truy cập. còn static thì các đối tượng thuộc lớp đều có thể truy cập. vậy tại sao khi muốn khai báo một hàm dùng chung cho các lớp thì phải có Static mà không dùng một mình Public thôi?
    Không bắt buộc bạn phải dùng static
    Visual C# Code:
    1. using System;
    2. class Cls1
    3. {
    4.     public int cong(int a, int b)
    5.     {
    6.         return a + b;
    7.     }
    8. }
    9. class Cls2
    10. {
    11.     public static int cong(int a, int b)
    12.     {
    13.         return a + b;
    14.     }
    15. }
    16. class Program
    17. {
    18.     public static void Main()
    19.     {
    20.         Cls1 obj1 = new Cls1();
    21.         Console.WriteLine(obj1.cong(2, 3));
    22.         Console.WriteLine(Cls2.cong(3, 5));
    23.     }
    24. }
    Với class Cls1, bạn phải tạo instance mới gọi được "obj1.cong(a, b)", còn Cls2 thì dùng thẳng tên lớp để gọi "Cls2.cong"
    Bạn thấy cái nào thuận tiện hơn.
    Đã được chỉnh sửa lần cuối bởi khoaph : 30-08-2021 lúc 07:43 AM.

  3. #3
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    997

    Có chỉ dấu mà bạn nên xem một hàm public có thể được chuyển thành public static hay không. Khi mã trong thân hàm chỉ tính toán và xử lý với các tham số đầu vào của hàm mà thôi (không có tham chiếu nào của lớp được sử dụng, ngoại trừ các tham chiếu cũng static) thì bạn có thể thêm static vào nó.
    .
    .

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn