У меня есть объект, написанный следующим образом:
Object1.prototype = {
isInit: false,
Get : function (){}
}
Теперь я хотел бы добавить конструктор, который принимает один параметр. Как я могу это сделать?
У меня есть объект, написанный следующим образом:
Object1.prototype = {
isInit: false,
Get : function (){}
}
Теперь я хотел бы добавить конструктор, который принимает один параметр. Как я могу это сделать?
Объявление класса
var User = function(name, age) { // constructor
}
User.prototype = {}
Переменные экземпляра (участники)
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {}
Статические переменные
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {
staticVar: 15,
anotherStaticVar: 'text'
}
Здесь я определил две статические переменные. Каждый экземпляр пользователя имеет доступ к этим двум переменным. Обратите внимание, что мы можем инициализировать его значением;
Функции экземпляра (методы)
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.prototype = {
getName: function() {
return this.name;
},
setName: function(name) {
this.name = name;
}
}
Пример использования:
var user = new User('Mike', 29);
user.setName('John');
alert(user.getName()); //should be 'John'
Статические функции
var User = function(name, age) {
this.name = name;
this.age = age;
}
User.create = function(name, age) {
return new User(name, age);
}
User.prototype = {}
Предполагая, что под "ctor" вы подразумеваете "конструктор", в JavaScript это просто функция. В этом случае ваш конструктор должен быть сам "Object1" - другими словами, то, что у вас есть, имеет смысл, если вы уже определили "Object1" как функцию.
Таким образом,
function Object1(param) {
// constructor code
}
будет конструктором для вашего типа.
Теперь есть некоторые библиотеки JavaScript, которые предоставляют уровень полезности для определения классов. С ними вы обычно передаете какой-то объект (например, у вас есть), который включает в себя функцию "init". Библиотеки предоставляют API для создания "классов" и для расширения одного класса от другого.
Javascript имеет объектную модель на основе прототипа. Проверьте эту страницу wiki mozilla, и вы почувствуете себя намного лучше на земле js.
Мы можем определить конструктор в javaScript так же, как и мелкая функция, поэтому конструктор - это просто функция.
//function declaration
function func(){}
В случае Contructor Мы используем начальную букву в шапках в конструкции типа
//constructor
function Func(){}
теперь выполняйте все, что хотите, с помощью своего конструктора
var constructor1 = new Func();
class CLASS_NAME
{
private:
int variable;
public:
CLASS_NAME() //constructor
{
variable = 0;
}
};