Kendo UI开发教程:使用Kendo UI库实现对象的继承
2016-10-19 09:31
274 查看
JavaScript也是一种面向对象的开发语言,但和C++,Java,C#所不同的是,它的对象不是基于类(Class),而是基于对象原型(ProtoType),因此对于来自C++、Java等背景的程序员,初次接触到JavaScript的面向对象的开发时,开始会有些不适应。而JavaScript语言本身也非常灵活,实现面向对象的方法也很多,不同的框架使用的方法也不同。
对于JavaScript的面向对象的方法和C++、Java面向对象的不同点。举个简单的类比,使用C++、Java来建房,是先有蓝图(Class),然后根据这个蓝图(Class)来建房(对象)。而JavaScript是直接建个房(Object)。如果要将个新房,就参考这个建好的房作为原型(prototype),然后复制一个对象。
Kendo UI不仅仅提供了一些好看的UI组件,而且也提供一个JavaScript构建对象,实现继承的方法,其形式接近于C++、Java的类继承方法。
首先可以创建一个新对象(注意JavaScript中没有类的概念),可以通过kendo.Class.extend 来定义。
上面代码创建一个Person对象,但没有定义Person对象任何属性和方法。下面可以为Person定义一些属性和方法(函数),可以通过对象字面量的方法来定义,Javascript对象的属性或方法都是以Key:value的形式来定义。也使用this来引用对象的方法或属性。
也可以为对象添加一个构造函数,Kendo UI使用 init 来定义构造函数 ,这样在创建新对象时,可以通过构造函数来创建新的对象. 下面代码重新定义Person对象,并为其添加一个属性isAPrettyCoolPerson:
我们使用这个对象,创建一个名为John、Bristowe的Person,并把它的isAPrettyCoolPerson属性设为True。
现在我们可以创建Person对象的一个派生对象Parent、Parent对象继承Person对象 ,然后我们创建一个Dad对象。
我们再创建一个Child对象,继承自Parent,要注意的是isCoolPerson 属性。想想它的值是真还是假呢?
可以看到me的isAPrettyCoolPerson的值为false, 没有因为myDad的isAPrettyCoolPerson为True而变为true, 这些因为Child继承自Parent、Parent缺省的isAPrettyCoolPerson为false, myDad修改的只是某个特定的实例的值,没有修改作为原型的对象(Parent)的属性。
本文转载自Kendo
UI中文网
对于JavaScript的面向对象的方法和C++、Java面向对象的不同点。举个简单的类比,使用C++、Java来建房,是先有蓝图(Class),然后根据这个蓝图(Class)来建房(对象)。而JavaScript是直接建个房(Object)。如果要将个新房,就参考这个建好的房作为原型(prototype),然后复制一个对象。
Kendo UI不仅仅提供了一些好看的UI组件,而且也提供一个JavaScript构建对象,实现继承的方法,其形式接近于C++、Java的类继承方法。
使用kendo.Class.extend创建对象
首先可以创建一个新对象(注意JavaScript中没有类的概念),可以通过kendo.Class.extend 来定义。
创建构造函数
也可以为对象添加一个构造函数,Kendo UI使用 init 来定义构造函数 ,这样在创建新对象时,可以通过构造函数来创建新的对象. 下面代码重新定义Person对象,并为其添加一个属性isAPrettyCoolPerson:
创建一个派生对象
现在我们可以创建Person对象的一个派生对象Parent、Parent对象继承Person对象 ,然后我们创建一个Dad对象。我们再创建一个Child对象,继承自Parent,要注意的是isCoolPerson 属性。想想它的值是真还是假呢?
可以看到me的isAPrettyCoolPerson的值为false, 没有因为myDad的isAPrettyCoolPerson为True而变为true, 这些因为Child继承自Parent、Parent缺省的isAPrettyCoolPerson为false, myDad修改的只是某个特定的实例的值,没有修改作为原型的对象(Parent)的属性。
本文转载自Kendo
UI中文网
相关文章推荐
- Kendo UI开发教程(5): 使用 Kendo UI库实现对象的继承
- Kendo UI开发教程(5): 使用 Kendo UI库实现对象的继承
- Kendo UI开发教程:使用Kendo UI Web创建自定义组件(基础篇)
- 【Kendo UI 中文教程】使用Grid组件完成基本的CRUD操作(一)
- [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】
- 【易语言界面开发系列教程之(EX_UI使用系列教程(13)--设置鼠标指针皮肤)】
- 【易语言界面开发系列教程之(EX_UI使用系列教程(14)--EX组件(组合框))】
- 易语言界面开发系列教程之(EX_UI使用系列教程(15)--EX组件(列表框EX))】
- 【易语言界面开发系列教程之(EX_UI使用系列教程--EX组件(一键换肤))】
- [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】
- 实战使用Axure设计App,使用WebStorm开发(4) – 实现页面UI
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
- ioS开发之UI基础--使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 实战使用Axure设计App,使用WebStorm开发(4) – 实现页面UI
- kendo-ui的使用和开发自己的组件(思路清晰)
- iOS开发-UI控件:使用TableView实现多级树型menu
- 使用MyEclipse 开发struts2框架实现登录功能(结构教程)
- iOS应用开发中使用NSLocale类实现对象信息的本地化