Từ trang 113 của O'Reilly Essential ActionScript 3.0 (2007):Làm thế nào không thể sử dụng "cuối cùng" là một vấn đề an ninh?
Phương pháp đó là giúp đỡ chính thức ẩn chi tiết nội bộ của một lớp. Thực hiện lớp học hoặc phương pháp cuối cùng là phương pháp ngăn các lập trình viên khác mở rộng lớp học hoặc ghi đè phương pháp nhằm mục đích kiểm tra cấu trúc nội bộ của lớp học. Việc phòng ngừa như vậy được coi là một trong những cách để bảo vệ đơn đăng ký khỏi bị khai thác độc hại.
Điều này có ám chỉ đến người dùng API của gói đã đóng, được biên dịch và "khai thác độc hại" để tìm hiểu về thiết kế lớp học không? Đây thực sự là một vấn đề?
Đối với một số ngữ cảnh khác, đó là lý do thứ hai trong hai lý do để sử dụng final
. Trong ấn bản năm 2007, nó nằm ở trang 113 trong chương Thừa kế theo phụ đề Ngăn các lớp bị mở rộng và phương thức bị ghi đè.
Thuộc tính chính thức được sử dụng vì hai lý do trong ActionScript:
Trong một số trường hợp, các phương pháp chính thức thực hiện nhanh hơn so với các phương pháp phi chính thức. Nếu bạn đang tìm cách cải thiện hiệu suất của ứng dụng của bạn theo mọi cách có thể, hãy thử thực hiện các phương pháp cuối cùng. Tuy nhiên, lưu ý rằng trong thời gian chạy Flash trong tương lai, Adobe hy vọng các phương pháp không phải cuối cùng sẽ thực thi nhanh như phương pháp cuối cùng.
Phương pháp trợ giúp cuối cùng sẽ ẩn chi tiết nội bộ của lớp học. Thực hiện lớp học hoặc phương pháp cuối cùng là phương pháp ngăn các lập trình viên khác mở rộng lớp học hoặc ghi đè phương pháp nhằm mục đích kiểm tra cấu trúc nội bộ của lớp học. Phòng ngừa như vậy được coi là một trong những cách để bảo vệ một ứng dụng khỏi bị khai thác độc hại.
'final' thực sự hữu ích để giảm lỗi. Điều khiến mắt tôi bị "khai thác một cách độc hại". Bạn đang nói rằng 'final' không ảnh hưởng đến các cuộc tấn công nguy hiểm? – Tim
Nó không phải là 'an ninh' theo nghĩa 'chịu đựng một cuộc tấn công'. nó giống như 'khó khăn hơn để sai lầm do nhầm lẫn'. Tôi thích từ 'an toàn'; tôi cảm thấy nó giống như ngăn ngừa một tai nạn, không phải là ác ý. –
Tôi đồng ý; loại bảo mật/an toàn đó được cung cấp bởi 'final'. Cuốn sách tuyên bố rằng điều này bảo vệ chống lại các cuộc tấn công nguy hiểm, đó là một cái gì đó khác với những sai lầm không chủ ý. – Tim