Kinh doanh - Marketing
Kinh tế quản lý
Biểu mẫu - Văn bản
Tài chính - Ngân hàng
Công nghệ thông tin
Tiếng anh ngoại ngữ
Kĩ thuật công nghệ
Khoa học tự nhiên
Khoa học xã hội
Văn hóa nghệ thuật
Sức khỏe - Y tế
Văn bản luật
Nông Lâm Ngư
Kỹ năng mềm
Luận văn - Báo cáo
Giải trí - Thư giãn
Tài liệu phổ thông
Văn mẫu
Giới thiệu
Đăng ký
Đăng nhập
Tìm
Danh mục
Kinh doanh - Marketing
Kinh tế quản lý
Biểu mẫu - Văn bản
Tài chính - Ngân hàng
Công nghệ thông tin
Tiếng anh ngoại ngữ
Kĩ thuật công nghệ
Khoa học tự nhiên
Khoa học xã hội
Văn hóa nghệ thuật
Y tế sức khỏe
Văn bản luật
Nông lâm ngư
Kĩ năng mềm
Luận văn - Báo cáo
Giải trí - Thư giãn
Tài liệu phổ thông
Văn mẫu
Thông tin
Điều khoản sử dụng
Quy định bảo mật
Quy chế hoạt động
Chính sách bản quyền
Giới thiệu
Đăng ký
Đăng nhập
0
Trang chủ
Công Nghệ Thông Tin
Kỹ thuật lập trình
Temperless Comparing Fields
tailieunhanh - Temperless Comparing Fields
Comparing Fields and Methods First, let's recap the original motivation for using methods to hide fields. Consider the following struct that represents a position on a screen as an (X, Y) coordinate pair: struct ScreenPosition { public ScreenPosition(int x, int y) { = rangeCheckedX(x); = rangeCheckedY(y); } public int X; public int Y; private static int rangeCheckedX(int x) { if (x 1280 | Comparing Fields and Methods First let s recap the original motivation for using methods to hide fields. Consider the following struct that represents a position on a screen as an X Y coordinate pair struct ScreenPosition public ScreenPosition int x int y rangeCheckedX x rangeCheckedY y public int X public int Y private static int rangeCheckedX int x if x 0 x 1280 throw new ArgumentOutOfRangeException X return x private static int rangeCheckedY int y if y 0 y 1024 throw new ArgumentOutOfRangeException Y return y The problem with this struct is that it does not follow the golden rule of encapsulation it does not keep its data private. Public data is a bad idea because its use cannot be checked and controlled. For example the ScreenPosition constructor range checks its parameters but no such check can be done on the raw access to the public fields. Sooner or later probably sooner either X or Y will stray out of its range possibly as the result of a programming error ScreenPosition origin new ScreenPosition 0 0 . int xpos -100 Oops The common way to solve this problem is to make the fields private and add an accessor method and a modifier method to respectively read and write the value of each private field. The modifier methods can then range-check the new field values because the constructor already checks the initial field values. For example here s an accessor GetX and a modifier SetX for the X field. Notice how SetX checks its parameter value struct ScreenPosition public int GetX return public void SetX int newX rangeCheckedX newX . private static int rangeCheckedX int x . private static int rangeCheckedY int y . private int x y The code now successfully enforces the range constraints which is good. However there is a price to pay for this valuable guarantee ScreenPosition no longer has a natural fieldlike syntax it uses awkward method-based syntax instead. The following example increases the value of X by 10. To do .
Nam Nhật
63
3
pdf
Báo lỗi
Trùng lắp nội dung
Văn hóa đồi trụy
Phản động
Bản quyền
File lỗi
Khác
Upload
Tải xuống
đang nạp các trang xem trước
Bấm vào đây để xem trước nội dung
Tải xuống
TÀI LIỆU LIÊN QUAN
Ngôn ngữ lập trình bậc cao
175
155
0
AutoIT Help part 94
10
127
1
AutoIT Help part 95
6
150
1
AutoIT Help part 96
7
127
1
AutoIT Help part 97
5
125
1
AutoIT Help part 98
6
127
1
AutoIT Help part 99
6
115
1
AutoIT Help part 100
6
122
1
AutoIT Help part 101
6
174
1
AutoIT Help part 102
7
122
1
TÀI LIỆU XEM NHIỀU
Một Case Về Hematology (1)
8
461928
55
Giới thiệu :Lập trình mã nguồn mở
14
23020
64
Tiểu luận: Tư tưởng Hồ Chí Minh về xây dựng nhà nước trong sạch vững mạnh
13
10968
531
Câu hỏi và đáp án bài tập tình huống Quản trị học
14
10165
451
Phân tích và làm rõ ý kiến sau: “Bài thơ Tự tình II vừa nói lên bi kịch duyên phận vừa cho thấy khát vọng sống, khát vọng hạnh phúc của Hồ Xuân Hương”
3
9563
104
Ebook Facts and Figures – Basic reading practice: Phần 1 – Đặng Tuấn Anh (Dịch)
249
8362
1127
Tiểu luận: Nội dung tư tưởng Hồ Chí Minh về đạo đức
16
8272
423
Mẫu đơn thông tin ứng viên ngân hàng VIB
8
7886
2225
Đề tài: Dự án kinh doanh thời trang quần áo nữ
17
6808
256
Giáo trình Tư tưởng Hồ Chí Minh - Mạch Quang Thắng (Dành cho bậc ĐH - Không chuyên ngành Lý luận chính trị)
152
6039
1457
TỪ KHÓA LIÊN QUAN
Kỹ thuật lập trình
thủ thuật lập trình
tư liệu lập trình
kĩ năng lập trình
mẹo lập trình
hướng dẫn lập trình
Temperless Comparing Fields
kỹ thuật lập trình
kỹ năng lập trình
bí quyết lập trình
phương pháp lập trình
kĩ thuật lập trình
AutoIT
TÀI LIỆU MỚI ĐĂNG
Đánh giá hao mòn và độ tin cậy của chi tiết và kết cấu trên đầu máy diezel part 3
12
323
0
17-05-2024
Trading Strategies Profit Making Techniques For Stock_3
23
197
1
17-05-2024
Management and Services Part 1
10
168
0
17-05-2024
Diseases of the Liver and Biliary System - part 1
33
137
0
17-05-2024
XỬ TRÍ CHẤN THƯƠNG SỌ NÃO KÍN
1
123
1
17-05-2024
Bài Tiểu Luận Chuyên Đề Tổ Chức Hoạt Động Nhận Thức Trong Dạy Học Vật Lý " Định Luật Ôm Cho Các Loại Đoạn Mạch Chứa Nguồn Điện"
10
159
3
17-05-2024
báo cáo hóa học:" Journal of the International AIDS Society: an important step forward"
2
90
0
17-05-2024
Quy Trình Canh Tác Cây Bông Vải
8
115
0
17-05-2024
Bài giảng hệ điều hành : HỆ ĐIỀU HÀNH NÂNG CAO part 4
6
120
0
17-05-2024
Không bào và dịch bào
3
128
0
17-05-2024
TÀI LIỆU HOT
Mẫu đơn thông tin ứng viên ngân hàng VIB
8
7886
2225
Giáo trình Tư tưởng Hồ Chí Minh - Mạch Quang Thắng (Dành cho bậc ĐH - Không chuyên ngành Lý luận chính trị)
152
6039
1457
Ebook Chào con ba mẹ đã sẵn sàng
112
3784
1250
Ebook Tuyển tập đề bài và bài văn nghị luận xã hội: Phần 1
62
5401
1137
Ebook Facts and Figures – Basic reading practice: Phần 1 – Đặng Tuấn Anh (Dịch)
249
8362
1127
Giáo trình Văn hóa kinh doanh - PGS.TS. Dương Thị Liễu
561
3546
656
Tiểu luận: Tư tưởng Hồ Chí Minh về xây dựng nhà nước trong sạch vững mạnh
13
10968
531
Giáo trình Sinh lí học trẻ em: Phần 1 - TS Lê Thanh Vân
122
3745
527
Giáo trình Pháp luật đại cương: Phần 1 - NXB ĐH Sư Phạm
274
4157
523
Bài tập nhóm quản lý dự án: Dự án xây dựng quán cafe
35
4184
483
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.