javascript面向对象开发

有篇不错的论坛帖子整理了下,转回来!!

1.类的定义:

2.类的成员:

上面的代码:

              有this开头的都是类的成员,而且都是公有(public)的。
                     比如:property1是类的属性、method1是类的方法;
              类的成员不需要使用var来定义,没有使用this前缀的都是私有变量。
                     比如:pram1是私有变量,method2是私有方法;
              类的属性可以不在类中定义,不要初始化的属性可以不定义,在其他地方仍可以调用;
                     比如:在method1里面要输出a属性,在整个类里面就没有定义a属性,我们在创建对象的时候可以给它赋值。
                     var obj=new ClassName()
                     obj.a="hello javascript";
                     obj.method1();
              类的方法可以通过this.method=function(){}来定义,比如method1方法;
              也可以通过this.method=funcName来定义,将方法指定让某个函数来处理,比如method3;

3.类的继承:

       通过使用prototype对象,将类classA的实例赋值给prototype对象,从而classB继承了classA的所有成员;
              比如:classB.prototype=new classA();
       同时也可以通过prototype在类外给类从新添加成员(这个是别的高级语言所没有的功能);
              比如:classB.prototype.PI和classB.prototype.showPI

4.类方法的重载:
       类方法的重载在类的构造函数中使用的比较多,比如:类中有两个同名的方法而不同参数或不同参数类型。JavaScript从形式上来说不支持类方法重载,我们可以通过它的arguments属性来完成对类方法的重载:
     

       类或函数名的arguments属性返回一个数组包含所有参数;
              比如:classA.arguments.length可以获取参数的个数,classA.arguments[0]获取第一个参数的值
       根据需要,通过获取参数个数或参数值,从而同一个函数或类具有了不同的功能,比如:
              var obj= new classA();
              obj.method1();//输出了0
              var obj1= new classA(5);
              obj1.method1();//输出了1

5.对象的定义: 
             
       这种方法定义的对象,把其类的结构也一起定义了,适合只使用一次的类
       定义属性和方法的时候不需要使用this关键字,":"后直接赋值即可
       但是方法中使用属性,需要使用this关键字

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值