Blogs

bất biến là gì

Bạn đang quan tâm đến bất biến là gì phải không? Nào hãy cùng VCCIDATA đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

XEM VIDEO bất biến là gì tại đây.

Bài vccidata.com.vnết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Mời bạn giúp hoàn thiện bài vccidata.com.vnết này bằng cách bổ sung chú thích tới các nguồn đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ. (February 2011 )

Đang xem: Bất biến là gì

Trong lập trình hướng đối tượng và hàm, đối tượng bất biến (tiếng Anh: immutable object hay unchangeable object)[1] là một đối tượng mà trạng thái của nó không thể bị thay đổi sau khi được tạo ra.[2] Nó trái ngược với đối tượng biến đổi (mutable object hay changeable object), mà có thể được thay đổi sau khi được tạo ra. Trong vài trường hợp, một đối tượng được xem là bất biến nếu ngay cả khi vài thuộc tính bên trong thay đổi nhưng trạng thái của đối tượng dường như không thay đổi theo cái nhìn từ bên ngoài. Ví dụ, một đối tượng sử dụng sự ghi nhớ để lưu kết quả tính toán nặng có thể vẫn được xem là đối tượng bất biến.

Kiểu chuỗi và các loại đối tượng cụ thể khác thường được biểu diễn dưới dạng đối tượng bất biến để cải thiện khả năng đọc và hiệu quả thời gian chạy trong lập trình hướng đối tượng. Đối tượng bất biến cũng hữu ích vì nó vốn an toàn luồng (thread-safe).[2] Các lợi ích khác là nó dễ hiểu, và mang lại tính bảo mật cao hơn đối tượng biến đổi.[2]

Mục lục

1 Khái niệm 1.1 Biến bất biến 1.2 Tính bất biến mạnh và yếu 1.3 Tham chiếu đến đối tượng 1.4 Sao chép đối tượng 2 Xem thêm 3 Tham khảo 4 Liên kết ngoài

XEM THÊM:  Nghĩa Của Từ Anchor Là Gì ? Nghĩa Của Từ Anchor Trong Tiếng Việt

Xem thêm: Game Lậu Việt Hóa – Game Mobile Lậu Việt Hóa

Khái niệm < sửa | sửa mã nguồn>

Biến bất biến < sửa | sửa mã nguồn>

Trong lập trình mệnh lệnh, giá trị được giữ trong biến chương trình mà nội dung không bao giờ bị thay đổi được gọi là hằng số (constant) để phân biệt với những biến mà có thể được thay đổi trong quá trình thực thi. Ví dụ như hệ số chuyển đổi từ đơn vị met sang feet, hay giá trị của số pi với độ chính xác đến nhiều số thập phân.

Những trường chỉ đọc (read-only field) có thể được tính khi chương trình chạy (không như hằng số vốn được biết trước), nhưng không bao giờ thay đổi sau khi đã được khởi tạo.

Tính bất biến mạnh và yếu < sửa | sửa mã nguồn>

Đôi khi, khi ai đó nói những trường nhất định của đối tượng là bất biến. Điều đó có nghĩa không có cách nào thay đổi những phần của trạng thái đối tượng, mặc dù những phần khác của đối tượng có thể được thay đổi (bất biến yếu – weakly immutable). Nếu tất cả các trường là bất biến, thì đối tượng đó cũng bất biến. Nếu toàn bộ đối tượng không thể được mở rộng bởi các lớp khác, đối tượng đó được gọi là bất biến mạnh (strongly immutable).[3]

Tham chiếu đến đối tượng < sửa | sửa mã nguồn>

Trong hầu hết các ngôn ngữ hướng đối tượng, đối tượng có thể được tham chiếu đến bằng cách sử dụng tham chiếu. Một số ví dụ về các ngôn ngữ như vậy là Java, C++, C#, VB.NET, và nhiều ngôn ngữ lập trình kịch bản, như Python và Ruby. Trong trường hợp này, trạng thái của một đối tượng có thể thay đổi khi các đối tượng được chia sẻ qua tham chiếu.

XEM THÊM:  Bà Bầu Uống Sữa Vinamilk Không Đường Có Tốt Không, Mua Á»Ÿ đÂu

Sao chép đối tượng < sửa | sửa mã nguồn>

Nếu một đối tượng được xem là bất biến, nó có thể được sao chép một cách đơn giản bằng cách tạo một bản sao của một tham chiếu tới nó thay vì phải sao chép toàn bộ đối tượng. Bởi vì một tham chiếu (thưởng chỉ có kích thước của một <

Kĩ thuật sao chép tham chiếu sẽ khó hơn nhiều cho đối tượng biến đổi, bởi vì nếu người dùng tham chiếu đến một đối tượng biến đổi và thay đổi nó, những người dùng khác có tham chiếu đến nó cũng sẽ nhìn thấy sự thay đổi đó. Đó không phải là hiệu ứng trong dự tính, sẽ khó khăn để thông báo cho những người dùng khác để họ phản hồi chính xác. Trong trường hợp đó, sao chép phòng thủ toàn bộ đối tượng thay vì chỉ mỗi tham chiếu sẽ là giải pháp dễ dàng hơn mặc dù tốn kém hơn. Mẫu observer pattern là một kĩ thuật thay thế để xử lý thay đổi cho các đối tượng biến đổi.

Xem thêm < sửa | sửa mã nguồn>

en:Clojure Erlang F# Haskell Prolog Tcl Scala Phương thức thay đổi

Tham khảo < sửa | sửa mã nguồn>

This article contains some material from the Perl Design Patterns Book

XEM THÊM:  Tin Nhắn Kí Tự Chúc Ngủ Ngon Đẹp Nhất ❤️ Dễ Thương, Kí Tự Đặc Biệt Chúc Ngủ Ngon ❤️ Tin Nhắn Sms

^ “immutable adjective”. Truy cập 3 tháng 6 năm 2017 . ^ a ă â Goetz et al. Java Concurrency in Practice. Addison Wesley Professional, 2006, Section 3.4. Immutability ^ Davccidata.com.vnd O”Meara (tháng 4 năm 2003). “Mutable and Immutable Objects: Make sure methods can”t be overridden”. Java Ranch. Truy cập ngày 14 tháng 5 năm 2012 . The preferred way is to make the class final. This is sometimes referred to as “Strong Immutability”. It prevents anyone from extending your class and accidentally or deliberately making it mutable.

Liên kết ngoài < sửa | sửa mã nguồn>

*

Tra biến đổi trong từ điển mở tiếng vccidata.com.vnệt Wiktionary Article Java theory and practice: To mutate or not to mutate? by Brian Goetz, from IBM DeveloperWorks — saved copy at Internet Archive by Brian Goetz, from IBM DeveloperWorks — saved copy at Internet Archive Immutable objects from JavaPractices.com Immutable objects from Portland Pattern Repository Objects Should Be Immutable by Yegor Bugayenko Immutable.js by Facebook Immutable structures in C# opensource project in Codeplex Immutable collections in.NET official library by Microsoft (NuGet Package)

Xem thêm: Chuyển Phát Nhanh J&Amp;T Express, Chuyển Phát Nhanh J & T Express Kim Bôi

Lấy từ “https://vccidata.com.vn/w/index.php?title=Đối_tượng_bất_biến&oldid=26635131”

Vậy là đến đây bài viết về bất biến là gì đã dừng lại rồi. Hy vọng bạn luôn theo dõi và đọc những bài viết hay của chúng tôi trên website VCCIDATA.COM.VN

Chúc các bạn luôn gặt hái nhiều thành công trong cuộc sống!

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button