Giả sử tôi có một biến có tên là button
loại Button
tất nhiên System.Serializable
.
Tôi muốn biến đó có thể được gán thông qua thanh tra, vì vậy tôi thực hiện nó public
:
public class SomeScript : MonoBehaviour{
public Button button;
}
Điều này cho tôi rằng:
Bây giờ, tôi muốn giữ mã sạch và an toàn (có tổ chức) và có một lý do thực sự tại sao tôi cần phải bảo toàn việc đóng gói.
Tôi biết rằng có nhiều cách lấy các thành phần trong thời gian chạy như thế nào transform.Find("Some/Genius/TypeUnsafe/Path")
hoặc GameObject.Find("3 seconds scene iteration").GetComponent(...).
tôi muốn tránh điều đó.
Làm cách nào để trộn một biến private access
với nó public access
trong thanh tra?
UI
/ API
MVC
/ MVVM
mẫu cho một ứng dụng khổng lồ (thực sự là một ứng dụng khách trò chơi) và tôi phải tách ra UI
khỏi API
. Tôi cần chỉ định giá trị thông qua nguyên nhân thanh tra - không còn cách nào khác. Find()
các phương thức là loại không an toàn và việc kết hợp mọi thứ lại với nhau dễ dàng hơn bằng cách kéo và thả. Thật sự, rất khó để xây dựng một khung OOP cổ điển Unity
và bạn phải tìm kiếm những thứ hacky như thế này.
private
không thực sự có ý định ngăn một bên thứ ba tiếp cận với một lĩnh vực, điều đó có nghĩa là cung cấp một cách để nói "đừng nhìn vào bức màn về những gì tôi thực sự đang làm" - đó là, chủ yếu là một cách để giữ cho bạn không có quyền truy cập vào nó.