---------------------------------------------------------------------------Đoạn chương trình trên hoạt động tốt, tuy nhiên cho đến khi có một ai đó thay đổi giá trị của biến thành viên này. Như ta thấy, biến thành Year trên đã được thay đổi đến 2003. Điều này thực sự không như mong muốn của chúng ta. | Ngôn Ngữ Lập Trình C This year 0 2003 This year 0 H Kết quả This year 2002 This year 2003 Đoạn chương trình trên hoạt động tốt tuy nhiên cho đến khi có một ai đó thay đổi giá trị của biến thành viên này. Như ta thấy biến thành Year trên đã được thay đổi đến 2003. Điều này thực sự không như mong muốn của chúng ta. Chúng ta muốn đánh dấu các thuộc tính tĩnh này không được thay đổi. Nhưng khai báo hằng cũng không được vì biến tĩnh không được khởi tạo cho đến khi phương thức khởi dựng static được thi hành. Do vậy C cung cấp thêm từ khóa readonly phục vụ chính xác cho mục đich trên. Với ví dụ trên ta có cách khai báo lại như sau public static readonly int Year public static readonly int Month public static readonly int Date public static readonly int Hour public static readonly int Minute public static readonly int Second Khi đó ta phải bỏ lệnh gán biến thành viên Year vì nếu không sẽ bị báo lỗi 2003 error Chương trình sau khi biên dịch và thực hiện như mục đích của chúng ta. Câu hỏi và trả lời Câu hỏi 1 Có phải chúng ta chỉ nên sử dụng lớp với các dữ liệu thành viên Trả lời 1 Nói chung là chúng ta không nên sử dụng lớp chỉ với dữ liệu thành viên. Ý nghĩa của môt lớp hay của lập trình hướng đối tượng là khả năng đóng gói các chức năng và dữ liệu vào trong một gói đơn. Câu hỏi 2 Có phải tất cả những dữ liệu thành viên luôn luôn được khai báo là public để bên ngoài có thể truy cập chúng 121 Xây Dựng Lớp - Đối Tượng Ngôn Ngữ Lập Trình C Trả lời 2 Nói chung là không. Do vấn đề che dấu dữ liệu trong lập trình hướng đối tượng xu hướng là dữ liệu bên trong chỉ nên dùng cho các phương thức thành viên. Tuy nhiên như chúng ta đã biết khái niệm thuộc tính cho phép các biến thành viên được truy cập từ bên ngoài thông qua hình thức như là phương thức. Câu hỏi 3 Có phải có rất nhiều lớp được xây dựng sẵn và tôi có thể tìm chúng ở đâu Trả lời 3 Microsoft cung cấp rất nhiều các