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

Đề tài: Thắc mắc về Public và private khi tạo đối tượng!!

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    35

    Mặc định Thắc mắc về Public và private khi tạo đối tượng!!

    Mình có 2 cách tạo class UserInfo như sau

    Code:
    public class UserInfo
        {
            private int _Id;
            private string _Name;
            private string _Password;
            private string _Email;
            private int _Role_Id;
            private bool _Status;
    
            public int Id
            {
                get { return _Id; }
                set { _Id = value; }
            }
    
            public string Name
            {
                get { return _Name; }
                set { _Name = value; }
            }
    
            public string Password
            {
                get { return _Password; }
                set { _Password = value; }
            }
    
            public string Email
            {
                get { return _Email; }
                set { _Email = value; }
            }
    
            public int Role_Id
            {
                get { return _Role_Id; }
                set { _Role_Id= value; }
            }
    
            public bool Status
            {
                get { return _Status; }
                set { _Status = value; }
            }
        }
    Code:
    public class UserInfo
        {
            public int Id { get; set;};
            public string Name { get; set;};
            public string Password { get; set;};
            public string Email { get; set;};
            public int Role_Id { get; set;};
            public bool Status { get; set;};
    
        }
    Mọi người cho mình hỏi ở code thứ 2 thì các giá trị đều là public thì ko nói, code thứ 1 các biến là private, nhưng phương thứ get, set của nó thì cho phép truy xuất hoàn toàn thông tin của biến, vậy thì chả khác gì public, vậy thì viết theo kiểu thứ 2 nhanh hơn??? Ko biết public như vậy có ảnh hưởng đến bảo mật ko??

  2. #2
    Ngày gia nhập
    01 2012
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    68

    Thực ra đoạn dưới cũng giống như đoạn trên bạn ạ, chỉ khác là viết theo cách thứ 2 ngắn gọn hơn nhiều. Khi chạy chương trình, trình biên dịch sẽ tự tạo biến private và các get set của properties. Bạn có thể dùng tool ".Net reflector" dịch ngược mã thì bạn sẽ thấy.

  3. #3
    Ngày gia nhập
    12 2011
    Nơi ở
    vùng kín
    Bài viết
    139

    cách thứ 2 là c# 3.0, còn cách đầu tiên là c# mấy chấm ko biết

  4. #4
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    ờ thì viết như vậy thì I và II giống nhau đấy nhưng người mới làm quen mà viết như kiểu II sẽ hok bít Get cái gì và Set cái chi .Nếu mục đích là tương tác 2 chiều (get cũng dc mà set cũng dc ) thì viết như cách II nhanh gọn OK . nhưng nếu mục đích tương tác 1 chiều (thường là get) thì phải dùng cách I để chỉ rõ tường minh cái nào dc lấy ra để xài ví dụ
    Code:
    public class UserInfo
    {
           private int _Id1;
           private int _Id2;
           public int ID 
           {
                 get {return _Id2 ;}
           }
    }

Các đề tài tương tự

  1. cách thay đổi private thành public trong jframe
    Gửi bởi oneclicklogin trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 1
    Bài viết cuối: 21-11-2013, 07:44 PM
  2. Bài tập C++ Dynamic memory, struct, public, private. Bt đơn giản nhưng không hiểu
    Gửi bởi d.linh9 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 29-09-2013, 08:19 AM
  3. Sử dụng private và public trong class như thế nào?
    Gửi bởi newbie.blind trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 01-11-2010, 11:41 AM
  4. sự khác nhau giữa private và public như thế nào?
    Gửi bởi gioemodau trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 15-10-2010, 12:06 PM
  5. Public ,private, proteced, static có tác dụng gì và khác nhau như thế nào?
    Gửi bởi chapter trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 31-01-2010, 05:46 PM

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