Tại sao ta phải khởi tạo giá trị ban đầu cho các đối tượng trong class, và tại sao cần hàm get/set?

Mọi người cho em hỏi là trong class, tại sao ta phải khởi tạo giá trị ban đầu cho các đối tượng trong class, và 2 hàm get/set tại sao cần, trong khi đó ta có thể làm bằng phương thức input và output.

  • setter dùng để không cho set linh tinh.
  • getter dùng để biến đổi private field thành thuộc tính.
6 Likes

em thấy việc dùng hàm input và output cũng được mà nhỉ?

Cái đó phải có stream bạn :slight_smile:

4 Likes

nhưng mà mình cũng phải nhập 1 giá trị để set vào mà nhỉ? còn gán giá trị khi gọi hàm thì sao mình không gán thẳng luôn từ ban đầu?

Tạo class hiểu đơn giản là tạo thêm kiểu dữ liệu mới, có những kiểu dữ liệu sẽ có giá trị mặc định không cần nhập xuất, thì khởi gán sẽ giúp tạo kiểu dữ liệu mặc định.
Mà Class cũng ám chỉ 1 đối tượng, mà đối tượng rất đa dạng, có những kiểu đối tượng sẽ có giá trị mặc định, ví dụ như phân số thì mẫu số phải khác 0 thì khởi gán giúp mặc định mẫu số phân số luôn đúng nghĩa
Đây chỉ là tự bản thân mình rút ra, nêu có gì ko đúng mong đc góp ý :’>

5 Likes

Mục đích là để chuẩn mực, bớt tính tùy tiện, điều này giúp cho làm việc tập thể hiệu quả hơn.

2 Likes

Có nhiều “cách” nhập :slight_smile: ko chỉ có stream, nên input/output chưa đủ.

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