Thường có nhiều cách làm cơ bản giống nhau, nhưng với các biến thể nhỏ. Có sự khác biệt rõ rệt giữa tính năng truyền và chuyển đổi, ví dụ: bạn có thể chuyển đổi một số int
thành string
, nhưng bạn không thể bỏ một số int
đến string
.
Bạn có điểm hợp lệ trong việc điều này có gây hại cho ngôn ngữ không, nhưng chủ yếu là do có nhiều cách để thực hiện mọi thứ, nhưng vì chúng có thể được triển khai không nhất quán. Khi bạn thực hiện các lớp học, bạn phải cẩn thận để chúng hoạt động như mong đợi. Kiểm tra cho bình đẳng là một ví dụ, nơi bạn có thể sử dụng một phương pháp hay một nhà điều hành:
x == y
x.Equals(y)
Nếu bạn thực hiện một trong số họ trong lớp học của bạn nhưng không phải là khác, trình biên dịch sẽ giúp bạn với một cảnh báo rằng cả hai phải được triển khai cho lớp để hoạt động đúng.
Có thể làm mọi thứ bằng nhiều cách không phải là thiệt hại. Nó là một nguồn lực mạnh mẽ. Giống như trong các ngôn ngữ nói: Bạn có thể thể hiện bản thân theo nhiều cách khác nhau (có thể có những khác biệt nhỏ về sắc thái). –