Javascript面向对象编程之二:类的定义
来源:互联网 发布:java怎么打开mysql 编辑:程序博客网 时间:2024/06/06 15:41
在上一篇中,我们定义了两个类,Viewer类和Cat类。在这一篇中,我们将谈到定义类的几种方法。
在javascript中,可以按照以下三种方式定义一个类,这三种方法也是阮一峰推荐的。
1、构造函数法
function Cat() { this.name = "大毛";}
这里面,this指的是实例对象。
生成实例时,使用new关键字:
var kitty=new Cat();alert(kitty.name);
javascript对象都可以通过prototype拓展对象的属性和方法:
Cat.prototype.makeSound = function(){ alert("喵喵喵");}
我比较倾向于使用这种方法,在上一篇中定义类时用的也是这个方法。
2、Object.create()法
用这个方法,”类”就是一个对象,不是函数。
var Cat = {name: "大毛",makeSound: function(){ alert("喵喵喵"); }};
然后,直接用Object.create()生成实例,不需要用到new。
这种方法比”构造函数法”简单,但是不能实现私有属性和私有方法,实例对象之间也不能共享数据,对”类”的模拟不够全面。
3、极简主义法
荷兰程序员Gabor de Mooij提出了一种比Object.create()更好的新方法,他称这种方法为”极简主义法”(minimalist approach)。我在第一次定义javascript类时,使用的就是这种方法。它的好处需要你对比三种方法后才能感觉到。
var Cat = {createNew: function(){var cat = {};cat.name = "大毛";cat.makeSound = function(){ alert("喵喵喵"); };return cat;}};
然后,在createNew()里面,定义一个实例对象,把这个实例对象作为返回值。
这种方法的好处是,容易理解,结构清晰优雅,符合传统的”面向对象编程”的构造,因此可以方便地部署下面的特性。
0 0
- Javascript面向对象编程之二:类的定义
- Javascript面向对象编程之三:变量的定义
- JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- [转]JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- Javascript面向对象编程二
- javascript的征程之面向对象编程
- 面向对象的asp编程之二--分页对象(javascript版)
- Javascript之面向对象编程--类的实现(1)
- Javascript之面向对象编程--类的实现(2)
- JavaScript面向对象编程之——类的概念
- JavaScript面向对象编程:类定义、继承、接口实现
- JavaScript 之面向对象编程
- 面向对象编程-定义类
- Javascript面向对象编程,定义类(class)的三种方法
- 面向对象编程--之二
- C++对象模型 第六章 执行期语意学
- Javascript面向对象编程之一:初体验
- 【Android】Android Service 服务
- 【重磅】凯文.凯利8个小时演讲实录
- 使用SharpZipLib实现zip压缩
- Javascript面向对象编程之二:类的定义
- 23种设计模式解析
- 浅淡HTML5移动Web开发
- SVN常见错误提示说明
- 修改Linux命令行界面的分辨率
- eclipse 3.5导入和导出个性格式化配置文件
- Javascript面向对象编程之三:变量的定义
- 漂亮动画效果的Dialog--NiftyDialogEffects
- android 打开蓝牙语音拨号功能