В данном посте посмотрим, что такое конструкторы при создании класса в ExtJS. Конструктор, в частности, позволяет при создании экземпляра класса для свойств пользоваться не значением по умолчанию, а значением, которое мы сами этому экземпляру класса и задаем.
Main.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!--Подключение библиотеки ExtJS, CSS и нашего скрипта JS--> <link rel="stylesheet" type="text/css" href="/ExtJS/www/Styles/theme-neptune/resources/theme-neptune-all.css"> <script type="text/javascript" src="/ExtJS/www/ext-all.js"></script> <script type="text/javascript" src="App.js"></script> <title>Main</title> </head> <body> </body> </html> |
App.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/** * @author Stas */ Ext.define('Classes.People', // Определение свойств класса {name:'Stas', surname:'Panteleev', sex:'male', age:32, //Определение конструктора constructor:function(name,surname){ if (name&&surname){ this.name=name; this.surname=surname; } }, // Определение методов класса getfullname:function(){ alert('Имя '+this.name+' : '+'Фамилия '+this.surname); }, } ); //Создание экземпляра класса var YourName=prompt('Введите Ваше имя',''); var YourFamily=prompt('Введите Вашу Фамилию',''); // Вот где мы воспользовались преимуществом вонструктора var NewPerson=Ext.create('Classes.People',YourName,YourFamily); // Можно также было создавать вот так... //NewPerson=new Classes.People(YourName, YourFamily); //Вызов методов класса NewPerson.getfullname(); |