Простите меня, если это глупый вопрос, я давно занимаюсь iphone и андроидом, а недавно мне нужно разработать для Интернета. Я использую parse.com для обработки запросов на сервер. Согласно их documentation, я могу сделать такой подкласс.Подкласс Parse.Object в Javascript
//A complex subclass of Parse.Object
var Monster = Parse.Object.extend("Monster", {
// Instance methods
hasSuperHumanStrength: function() {
return this.get("strength") > 18;
},
// Instance properties go in an initialize method
initialize: function (attrs, options) {
this.sound = "Rawr"
}
}, {
// Class methods
spawn: function(strength) {
var monster = new Monster();
monster.set("strength", strength);
return monster;
}
});
var monster = Monster.spawn(200);
alert(monster.get('strength')); // Displays 200.
alert(monster.sound); // Displays Rawr.
В конечном счете, я пытаюсь перевести следующий код с Java на JS.
/**
* @author XujieSong
*
*/
@ParseClassName("_User")
public class SHUser extends ParseUser {
/**
* SHUser is a subclass of ParseUser
* Class name _User
*/
/**
* Default constructor
*/
public SHUser() {
}
/**
* Create a SHUser object with known objectId
* This method only returns a SHUser without data
* @param userID the objectId of the SHUser
* @return user a reference to a SHUser
*/
public SHUser(String userId) {
this.setObjectId(userId);
}
/**
* Create a new SHUser with attributes
* @param userName
* @param password
* @param email
* @param displayName
* @param installation
* @param profileImage
* @return user a new user
*/
public SHUser(String userName, String password, String email, String displayName) {
this.setUsername(userName);
this.setPassword(password);
this.setEmail(email);
this.setDisplayName(displayName);
}
}
И это то, что у меня до сих пор,
var SHUser = Parse.Object.extend("_User", {
/**
* Instance properties go in an initialize method
* @param {userId}
* @return {[type]}
*/
SHUser: function() {
},
/**
* Instance properties go in an initialize method
* @param {userId}
* @return {[type]}
*/
SHUser: function (userId) {
this.id = userId;
},
/**
* Instance properties go in an initialize method
* @param {userName}
* @param {password}
* @param {email}
* @param {displayName}
* @return {[type]}
*/
SHUser: function (userName, password, email, displayName) {
this.setUsername(userName);
this.setPassword(password);
this.setEmail(email);
this.setDisplayName(displayName);
}
}, {
// Class methods
});
после
var user = new SHUser(userId);
window.alert(Shelf.seller.id);
Я получил неопределенными.
Итак, вот вопрос. Возможно ли иметь конструктор по умолчанию, а затем несколько настраиваемых конструкторов, например, как в Java? Это хорошая практика? Спасибо.
спасибо очень полезно! – rushelmet