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

来源:互联网 发布:appium python ios 编辑:程序博客网 时间:2024/05/17 07:06
最近几天学了下sencha touch2的一些基本控件和一些写法。都是很基础的(呵呵 高级的我学不会。。)
sencha touch2的语法感觉很像面向对象的语法。有自己的类,类可以继承。(现在语言貌似都向oop靠拢。。)。
sencha touch2如果项目大的话有一种mvc的架构写法。这以后贴代码给大家看吧。
这篇文章讲的是sencha touch2的类。
废话不多说了。开始吧。
首先你先配置下sencha touch2的环境,导入sdk什么的,请参照http://extjs.org.cn/node/543

配置好了环境之后,就可以在app.js里写代码喽。

首先申明一个类:

view sourceprint?
01.Ext.define(
02."Animal",
03.{
04.config:
05.{
06.name:null
07.},
08.constructor:function(config)
09.{
10.this.initConfig(config);
11.},
12.speak:function()
13.{
14.Ext.Msg.alert("123");
15.}
16.}
17.)

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

view sourceprint?
01.publicclass Animal
02.{
03.String name;
04. 
05.publicString getName()
06.{
07.returnname;
08.}
09.publicvoid setName(String name)
10.{
11.this.name = name;
12.}
13. 
14.publicvoid speak()
15.{
16.System.out.print("123");
17.}
18.}

呵呵 当你在sencha touch2里申明name变量时,他会自动生成getter和setter存取方法的。当然这里的name不一定是String类型的。
然后可以调用这个类了 。完整的写法如下:

view sourceprint?
01.Ext.application(
02.{
03.name:"sencha",
04.launch:function()
05.{
06.varmy=Ext.create("Animal",{name:"bob"})
07.my.speak();
08.}
09.}
10.)
11. 
12.Ext.define(
13."Animal",
14.{
15.config:
16.{
17.name:null
18.},
19.constructor:function(config)
20.{
21.this.initConfig(config);
22.},
23.speak:function()
24.{
25.Ext.Msg.alert("123");
26.}
27.}
28.)

然后类的继承写法如下:

view sourceprint?
01.Ext.define(
02."Person",
03.{
04.extend:"Animal",
05.speak:function()
06.{
07.Ext.Msg.alert(this.getName());
08.}
09.}
10.)

应该看得懂吧,Person类继承了Animal类,然后覆盖了speak这个方法。
完整的的如下:

view sourceprint?
01.Ext.application(
02.{
03.name:"sencha",
04.launch:function()
05.{
06.varmy=Ext.create("Person",{name:"bob"})
07.my.setName("haha");
08.my.speak();
09.}
10.}
11.)
12. 
13.Ext.define(
14."Animal",
15.{
16.config:
17.{
18.name:null
19.},
20.constructor:function(config)
21.{
22.this.initConfig(config);
23.},
24.speak:function()
25.{
26.Ext.Msg.alert("123");
27.}
28.}
29.)
30.Ext.define(
31."Person",
32.{
33.extend:"Animal",
34.speak:function()
35.{
36.Ext.Msg.alert(this.getName());
37.}
38.}
39.)

他会弹出"haha"这个字符串。呵呵 写好了

原创粉丝点击