Создание нового экземпляра класса при вызове в JavaScript - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь найти способ создания нового экземпляра класса, когда значения передаются из приложения Android в программу JavaScript.Я знаю, что JS не использует классы, но есть способы использовать функции аналогичным образом.

Когда пользователь нажимает кнопку в приложении Android, я хочу отправить случайно сгенерированный идентификатор (который я создал) в базу данных, в которой хранится идентификатор (и информация о пользователе), а затем использовать программу JS.потяните идентификатор и создайте новый экземпляр для этого идентификатора.Это будет одновременно несколько пользователей, поэтому мне нужно создавать новый экземпляр каждый раз, когда пользователь нажимает кнопку.Он также отправит идентификатор, широту, долготу и время в отдельную базу данных, где местоположение будет обновляться и сохраняться каждую секунду.

Например, если «пользователь1» нажимает кнопку, идентификатор (пользователь1) будет отправлен в DB_1, а идентификатор, широта, долгота и метка времени будут отправлены в DB_2.JS будет предупрежден о новом пользователе и создаст экземпляр для user1, а затем будет использовать идентификатор в качестве переменной для поиска DB_2 для поиска координат каждую секунду.Таким образом, если имеется несколько пользователей, каждый класс будет искать только в DB_2 координаты, относящиеся к этому пользователю.Мне нужно сделать это, потому что я должен иметь возможность отслеживать нескольких пользователей одновременно (и в режиме реального времени) с помощью карты Google в Интернете.Дайте мне знать, если у вас есть какие-либо предложения!

Спасибо

1 Ответ

1 голос
/ 27 января 2012

Если все, что вам нужно, это создать объект JavaScript с собственными личными переменными, попробуйте что-то вроде

function User(id) {
this.id = id;
};

Затем вы можете использовать функции прототипа.

User.prototype.getId = function() {
return this.Id;
};

Теперь у вас есть объект с идентификатором закрытой переменной и геттер для этой переменной.

Вы можете создавать экземпляры объекта следующим образом

var user1 = new User(id1);
var user2 = new User(id2);
var user1Id = user1.getId();
var user2Id = user2.getId();

Мне нравится использовать шаблон-прототип, потому что он обеспечивает безопасность и организованность, но в конечном итоге вы часто используете "это". Есть и другие паттерны, которые достигают в основном того же самого, что вы можете предпочесть использовать, но я не могу думать, если имя какого-либо из них прямо сейчас.

В конструкции используется

function User(id) {
this.id = id;
};
User.prototype.getId = function() {
return this.Id;
};

Это похоже на выполнение в Java, за исключением безопасности типов.

public class User{
    private int id;

    public User(int id){
         this.id = id;
    }

    public int getUserId(){
        return this.id;
    }
}

Конечно, существует довольно большая разница между внутренней работой скомпилированной Java и интерпретируемого JavaScript, но приведенный выше метод дает вам аналогичный эффект OO.

Если вы используете этот метод и в итоге получите некоторые ошибки, по всей вероятности, вы где-то пропустили «это». Каждая переменная в функции-прототипе, которая является частью объекта, должна иметь «this». Приставка.

Надеюсь, это что-то вроде того, что вы искали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...