本文只是对自己认为的面向对象重要概念及精华部分,做出小结,如要详细了解,可以学习参考资料部分的书籍或者上网查找,此处就不一一列举了。
1.什么是面向对象(封装,继承,多态)
2.面向对象之三大特性
(1). 面向对象之封装
(2). 面向对象之继承(多继承)
(3). 面向对象之多态
多态,就是同一个方法的多种调用方式。在js中,要对传入的参数做判断来实现多种调用方式。例如:
//多态 案例
function add(){
//获取参数
var arg = arguments,
len = arg.length;
switch(len){
//如果没有参数
case 0:
return 10;
//如果只有一个参数
case 1:
return 10+arg[0];
//如果有两个参数
case 2:
return arg[0] + arg[1];
}
}
console.log(add());//10
console.log(add(5));//15
console.log(add(6,7));//13
//案例二
function Add(){
//无参数算法
function zero(){
return 10;
}
//一个参数
function one(num){
return 10+num;
}
//两个参数算法
function two(num1,num2){
return num1+num2;
}
//想家共有方法
this.add = function(){
var arg = arguments,
len = arg.length;
switch(len){
case 0:
return zero();
case 1:
return one(arg[0]);
case 2:
return two(arg[0],arguments[1]);
}
}
}
var A = new Add();
console.log(A.add());
console.log(A.add(5));
console.log(A.add(6,7));
补充:面向对象学完之后,就该看看设计模式了,请参考
JavaScript设计模式总结
参考资料
1.《JavaScript高级程序设计(第三版)》
2.《JavaScript设计模式(张容铭)》
3. jQuery源码分析