定义一个类 主要有两种方法,方法1是直接在类后面进行类的定义
com.tiantian.test.Person = function() {//定义一个对象 this.name = "默认名称"; this.age = 0; this.country = "中国"; }
?方法2是使用Ext自己定义的define方法进行定义:
Ext.define("com.tiantian.test.Person1",{ name: "person1", age: 30 });
?
类的继承:
类的继承主要是在定义类的时候指定其extend属性指向其需要继承的类
?
代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>05_inherit.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript" src="../ext4/ext-all-debug.js"></script> <script type="text/javascript"> Ext.onReady(function() { Ext.namespace("com.tiantian.test"); com.tiantian.test.Person = function() {//定义一个对象 this.name = "默认名称"; this.age = 0; this.country = "中国"; } //也可以这样定义一个对象 Ext.define("com.tiantian.test.Person1",{ name: "person1", age: 30 }); Ext.define("com.tiantian.test.Student",{ extend: "com.tiantian.test.Person",//表示继承自哪个类 constructor: function(name, age) {//构造方法 this.name = name; this.age = age; }, role: "学生", country: "新加坡", getRole: function() { return this.role; } }); Ext.define("com.tiantian.test.Teacher",{ extend: "com.tiantian.test.Person", country: "马来西亚", role: "老师" }); var student = new com.tiantian.test.Student("张三",3); alert("name:"+student.name+" age:"+student.age+" role:"+student.role+student.getRole()+" country:"+student.country); var person1 = new com.tiantian.test.Person1(); alert(person1.name); var teacher = new com.tiantian.test.Teacher(); teacher.name = "李四"; teacher.age = 30; alert("name:"+teacher.name+" age:"+teacher.age+" role:"+teacher.role+" country:"+teacher.country); }); </script> </head> <body> This is my HTML page. <br> </body> </html>