您的位置:首页 > 其它

Sencha Touch 2 学习笔记(二)----定义类与类的继承(转)

2014-12-04 13:08 232 查看
转载链接: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里写代码喽。

 

首先申明一个类:

 

Java代码  


Ext.define(  

"Animal",  

{  

    config:  

    {  

        name:null  

    },  

    constructor:function(config)  

    {  

        this.initConfig(config);  

    },  

    speak:function()  

    {  

        Ext.Msg.alert("123");  

    }  

}  

)  

 看得懂吧。申明了"Animal"这个类,然后申明name这个变量,constructor就是这个类初始化时要调用的。speak是一个方法。把这句翻译成Java代码可以如下:

 

 

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类型的。

然后可以调用这个类了 。完整的写法如下:

 

Java代码  


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");  

    }  

}  

)  

 然后类的继承写法如下:

 

 

Java代码  


Ext.define(  

"Person",  

{  

    extend:"Animal",  

    speak:function()  

    {  

        Ext.Msg.alert(this.getName());  

    }  

}  

)  

 

应该看得懂吧,Person类继承了Animal类,然后覆盖了speak这个方法。

完整的的如下:

 

Java代码  


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"这个字符串。呵呵  写好了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: