Vietnamese Developers’ Blog

C++ vs. Java: Mutability

Posted in C/C++, Java, Programming by Hoang Tran on September 19, 2007

Nguồn: http://mannu.livejournal.com/131085.html

Bài viết này là một thảo luận nhỏ được đề cập đến trong bài báo của Tahir rằng tại sao anh ta thích C++ hơn Java: “Why I Program in C++” (mà tôi sẽ đề cập khi có dịp).

Java thiếu rất nhiều đặc điểm của C++ và ngược lại. Nhưng có một đặc điểm của C++ mà tôi vẫn chưa quen được trong Java là khả năng có một const reference tới objects, làm cho những object là immutable khi sử dụng những references như vậy. Trong Java thì không phải tất cả instances (thể hiện) của một class nào là immutable (ví dụ java.lang.String) hoặc bất cứ một thể hiện nào là immutable. Mutability của một object được xác đính bởi design (thiết kế) của class đó và không có cách nào để nó chịu ảnh hưởng bởi cái reference đến trong hệ thống. Do đó tất cả đối tượng “String” trong Java là immutable, trong khi tất cả ArrayLists là mutable.

Để rõ hơn, sau đây là một lớp contact trong C++: (more…)

Tagged with: ,