Sự khác nhau của hai lớp trong C# với thành viên private và public?

Cho em hỏi, hai lớp sau khác nhau ở điểm nào? Tại sao người ta lại hay dùng lớp thứ hai? Và em nên dùng cách nào ạ??

Lớp thứ nhất:

class Nguoi
    {
        private string ho;
        private string ten;
        public string Ho
        {
            get { return ho; }
            set { ho = value; }
        }
        public string Ten
        {
            get { return ten; }
            set { ten = value; }
        }
    }

Lớp thứ hai:

class Nguoi
    {
        public string Ho, Ten;
    }

Cách thứ 1 là chuẩn, mọi thành viên của class nên là private.
Cách thứ 2 không chuẩn, mọi thành viên là public

Có thể vì “người ta” không học OOP đúng cách chăng?

Cách 1

1 Like

Vì sao lại nên dùng cách một??

kiểm soát được việc thay đổi giá trị hoặc kiểm tra giá trị có đúng không

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?