Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: метод копирования экземпляра класса

Сообщения:  [1-5] 

 
 автор: katty   (28.09.2006 в 13:03)   письмо автору
 
   для: 12345   (28.09.2006 в 12:49)
 

Огромное спасибо за помощь!!!!!!
Буду разбираться)))

   
 
 автор: 12345   (28.09.2006 в 12:49)   письмо автору
 
   для: katty   (28.09.2006 в 12:24)
 

Последовательно их очень редко излагают, на этом форуме таких тем совсем нет, не считая 2-3, вопросы рассматриваются на http://xpoint.ru/forums/programming/javascript/misc/forum.xhtml, http://forum.vingrad.ru/index.php?showforum=10, http://www.rsdn.ru/forum/?group=web (реже). Из литературы - у Котерова 2 статьи в наблах - http://dklab.ru/chicken/nablas/39.html, в больших книгах типа Гудмана "Библия JS", у Дронова что-то есть http://ac.cs.nstu.ru/docs/WEB/Javascript/(Ebook)%20(Rus)%20Html%20Javascript%20Dronov.pdf (36М, pdf), у Лукача - http://wdh.suncloud.ru/default.htm - http://wdh.suncloud.ru/js07.htm#ref37 - "Глава 3.7. Использование объектов". С последнего и Котерова стоит начать.

По вопросу -
<script>
Calendar=function(x){
  this.date; //ничего не делаем, но можно присвоить начальное значение
  if(x!=null)this.date=x.date;
}
Cal1=new Calendar(); //первый объект
Cal1.date='22.06.2006'; //изменили свойство
Cal2=new Calendar(Cal1); //сделали копию
alert([Cal1.date,Cal2.date]) //проверка 1
Cal2.date='2008';
alert([Cal1.date,Cal2.date]) //проверка 2, на то, что это разные объекты

</script>


И для тех, кто будет читать позже и будет не в курсе, почему нельзя сделать просто Cal2=Cal1; , скажу, что все объекты определяются только через ссылки , и присваивание означает присваивание ссылки, значит, объект останется одним, будут только 2 разные ссылки на него.

   
 
 автор: katty   (28.09.2006 в 12:24)   письмо автору
 
   для: 12345   (27.09.2006 в 16:50)
 

если честно, я не очень поняла(
нет ли какой нибудь информации об ООП в Java Script - я очень мало нашла и все общие вопросы, а хотелось бы примеры поглядеть:)

   
 
 автор: 12345   (27.09.2006 в 16:50)   письмо автору
 
   для: katty   (27.09.2006 в 13:30)
 

Вручную. Пишете конструктор с параметром экземпляра себя, который копирует поля при наличии параметра.

Cal2=new Calendar(Cal1);

   
 
 автор: katty   (27.09.2006 в 13:30)   письмо автору
 
 

привет всем, вопрос следующий:

создается календарик при помощи класса Calendar:

function Calendar() {
свойства:
this.poleId
...
методы...
}

на странице из полей формы, предназначенных для ввода даты, этот календарь вызывается.
При этом для каждого поля создается свой экземпляр класса Calendar и ему передается id данного поля ввода.
В отдельном файле создан объект Globals, при помощи его методов и создаются экземпляры класса Calendar .
изначально в Globals создавалась

Globals.calendar = new Calendar();

ссылка на единственный экземпляр календаря.
теперь необходимо несколько экземпляров каждый со своим PoleId.
как написать метод объекта Globals копирующий объект Calendar и передающий ему PoleID?
что-нибудь вроде-

Globals.add = function(PoleId, new Calendar()){
...
};

чтобы потом вызвав этот метод получить еще один экземпляр календаря?
помогите, пожалуйста!!!
Заранее спасибо)

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования