Tôi đã làm một số nghiên cứu trên diễn đàn ExtJS về phương pháp riêng và các lĩnh vực bên trong một lớp mở rộng, và tôi không thể tìm thấy bất kỳ câu trả lời thực sự này.thành viên cá nhân khi mở rộng một lớp sử dụng ExtJS
Và khi tôi nói một mở rộng lớp Ý tôi là một cái gì đó như thế này:
Ext.ux.MyExtendedClass = Ext.extend(Ext.util.Observable, {
publicVar1: 'Variable visible from outside this class',
constructor: function(config) { this.addEvents("fired"); this.listeners = config.listeners; }, // to show that I need to use the base class
publicMethod1: function() { return 'Method which can be called form everywhere'; },
publicMethod2: function() { return this.publicMethod1() + ' and ' + this.publicVar1; } // to show how to access the members from inside another member
});
Vấn đề ở đây là mọi thứ đều là công khai. Vì vậy, làm cách nào để thêm phương thức biến o mới trong phạm vi MyExtendedClass không thể truy cập từ bên ngoài nhưng có thể truy cập bằng các phương thức công khai?
+1 Tính năng này hoạt động! Nhưng tôi mới nhận ra một giải pháp khác có vẻ tốt hơn. Bởi vì với giải pháp của bạn, thời gian tạo ra của mỗi trường hợp sẽ được tăng lên, và tôi tin rằng tôi không. Tôi sẽ đăng nó ngay bây giờ, để mọi người có thể nói nếu tôi sai hay không. –
Tôi hoan nghênh cuộc trò chuyện này. Có thể cho rằng quá ít nhà phát triển lo ngại về việc ẩn dữ liệu khi phát triển bằng JavaScript. – Upperstage