转载链接:http://extjs.org.cn/node/544
原文链接:http://chennaigong.iteye.com/blog/1545057
最近几天学了下sencha touch2的一些基本控件和一些写法。都是很基础的(呵呵 高级的我学不会。。)
sencha touch2的语法感觉很像面向对象的语法。有自己的类,类可以继承。(现在语言貌似都向oop靠拢。。)。
sencha touch2如果项目大的话有一种mvc的架构写法。这以后贴代码给大家看吧。
这篇文章讲的是sencha touch2的类。
废话不多说了。开始吧。
首先你先配置下sencha touch2的环境,导入sdk什么的,请参照http://chennaigong.iteye.com/admin/blogs/1542268。
配置好了环境之后,就可以在app.js里写代码喽。
首先申明一个类:
- Ext.define(
- "Animal",
- {
- config:
- {
- name:null
- },
- constructor:function(config)
- {
- this.initConfig(config);
- },
- speak:function()
- {
- Ext.Msg.alert("123");
- }
- }
- )
看得懂吧。申明了"Animal"这个类,然后申明name这个变量,constructor就是这个类初始化时要调用的。speak是一个方法。把这句翻译成Java代码可以如下:
- public class Animal
- {
- String name;
- public String getName()
- {
- return name;
- }
- public void setName(String name)
- {
- this.name = name;
- }
- public void speak()
- {
- System.out.print("123");
- }
- }
呵呵 当你在sencha touch2里申明name变量时,他会自动生成getter和setter存取方法的。当然这里的name不一定是String类型的。
然后可以调用这个类了 。完整的写法如下:
- Ext.application(
- {
- name:"sencha",
- launch:function()
- {
- var my=Ext.create("Animal",{name:"bob"})
- my.speak();
- }
- }
- )
- Ext.define(
- "Animal",
- {
- config:
- {
- name:null
- },
- constructor:function(config)
- {
- this.initConfig(config);
- },
- speak:function()
- {
- Ext.Msg.alert("123");
- }
- }
- )
然后类的继承写法如下:
- Ext.define(
- "Person",
- {
- extend:"Animal",
- speak:function()
- {
- Ext.Msg.alert(this.getName());
- }
- }
- )
应该看得懂吧,Person类继承了Animal类,然后覆盖了speak这个方法。
完整的的如下:
- Ext.application(
- {
- name:"sencha",
- launch:function()
- {
- var my=Ext.create("Person",{name:"bob"})
- my.setName("haha");
- my.speak();
- }
- }
- )
- Ext.define(
- "Animal",
- {
- config:
- {
- name:null
- },
- constructor:function(config)
- {
- this.initConfig(config);
- },
- speak:function()
- {
- Ext.Msg.alert("123");
- }
- }
- )
- Ext.define(
- "Person",
- {
- extend:"Animal",
- speak:function()
- {
- Ext.Msg.alert(this.getName());
- }
- }
- )
他会弹出"haha"这个字符串。呵呵 写好了
浙公网安备 33010602011771号