cucci 女包、香奈儿包包、爱马仕包包:www.naitiao.com|冬装外套、冬装女装、时尚冬装:www.haomeifa.com
gucci 包、酷奇包包、金利来女包:www.naitiao.com|皮草外套、水貂皮草、皮草大衣: www.qqxk.org
Javascript 面向对象特性实现(封装、继承、接口)
Javascript 作为弱类型语言,和 Java、php 等服务端脚本语言相比,拥有极强的灵活性。
对于小型的 web 需求,在编写 javascript 时,可以选择面向过程的方式编程,显得高效;但
在实际工作中,遇到的项目需求和框架较大的情况下,选择面向对象的方式编程显得尤其重
要,Javascript 原生语法中没有提供表述面向对象语言特性的关键字和语法(如 extends、
implement)。为了实现这些面向对象的特性,需要额外编写一些代码,如下。
在开始使用 OO 特性之前,还需要考虑使用接口、继承所带来的弊端。封装、接口、继
承都将使代码结构变得复杂,对于编码新手有较高的要求,对于别人接受你的项目成本也提
高了,在团队协作中需要根据具体需求斟酌,不要为了秀技术而写代码;同时,封装和接口
都将带来一些额外的内存开销,有些可以忽略不计,有些 则是得不偿失,需要注意。
一、封装
var book = (function(){
var COUNT = 0;
//静态私有方法
function checkISBN(isbn){
return true;
}
//构造器
var ctor = function(id,name,isbn){
var _id,_name,_isbn
this.setId= function(id){
_id=id;
}
this.getId = function(){
return _id;
}
this.setName = function(name){
_name = name;
}
this.getName = function(){
return name;
}
this.setIsbn = function(isbn){
_isbn = isbn;
}
this.getIsbn = function(){
return isbn;
}
if(checkISBN){
COUNT++;
}
this.setName(name);
评论0