Tôi đang thấy rất nhiều lớp khả thi trong thế giới C ++ và Java không có bất kỳ trạng thái nào.
Tôi thực sự không thể hiểu tại sao mọi người làm điều đó, họ chỉ có thể sử dụng một không gian tên với các hàm miễn phí trong C ++ hoặc một lớp với hàm tạo riêng và chỉ các phương thức tĩnh trong Java.
Lợi ích duy nhất tôi có thể nghĩ đến là bạn không phải thay đổi hầu hết mã của mình nếu sau đó bạn quyết định rằng bạn muốn triển khai khác trong một số tình huống. Nhưng đó không phải là một trường hợp thiết kế sớm? Nó có thể được biến thành một lớp sau này, khi / nếu nó trở nên phù hợp.
Tôi có nhận được điều này sai? Có phải là OOP không nếu tôi không đặt mọi thứ vào các đối tượng (tức là các lớp khởi tạo)? Vậy thì tại sao có nhiều không gian tên và lớp tiện ích trong các thư viện chuẩn của C ++ và Java?
Cập nhật: Tôi chắc chắn đã thấy rất nhiều ví dụ về điều này trong các công việc trước đây của mình, nhưng tôi đang vật lộn để tìm các ví dụ nguồn mở, vì vậy có lẽ nó không phổ biến như vậy. Tuy nhiên, tôi tự hỏi tại sao mọi người làm điều đó, và nó phổ biến như thế nào.