美文网首页
**javascript中的面向对象的理解**

**javascript中的面向对象的理解**

作者: 桐谷杰人 | 来源:发表于2017-08-17 22:08 被阅读0次

    1.面向对象
    Java编程中万物皆对象,即所有为外界提供属性和方法的整体都可以看做对象,而在面向对象编程中,我们只关注对象提供的属性和方法,而不关注对象本身,所以把代码块封装为一个类对象,不考虑代码块内部结构,只考虑它为我们提供的属性和方法,即为JavaScript中的面向对象编程 .
    2.javascript的封装,继承,多态
    Javascript中的函数就是对于功能的一种封装,函数包括普通函数和构造函数两类,构造函数是对象创建的基础。javascript中函数也是对象的一种。封装即将功能和属性封装为一个函数模块,供外部调用。继承是从已经存在的对象上,继承出新的对象。 多态表示在继承父级对象特性的基础上拥有不同的表现形式。 举例来说:数组也是一个对象,数组中的所有方法都是对象方法,数组中的属性和变量类似,只是属性是属于对象的变量。同样数组中的方法实质也是函数,只是属于对象。this决定这个方法属于哪个对象
    3.javascript面向对象中的原型思想
    原型可以类比于css中的class样式。 给一个对象单独加方法相当于css中的行间样式。 使用原型可以为一类对象添加属性和方法。
    e.g:对象名.prototype.方法名=function()
    4.同样原型相当于Java中的工厂类,工厂并不具有实际功能,只是为了构造对象。原型本身也不提供方法,而是通过原型new出的对象,具有原型中定义的方法。同样在javascript中的构造函数为new出的对象提供属性,所以一定意义上说javascript中构造函数即为工厂类.
    在构造函数中添加属性,在原型中添加方法。可以解决工厂函数两个问题。因为属性每个对象都不同,是对象特有(类似行内样式),用构造函数来设置。但是方法对每个对象都一样的操作,所以用原型来添加。
    e.g:
    function Person(name,age){
    this.name=name;
    this.age=age;
    }
    Person.prototype.showName=function(){
    };

    相关文章

      网友评论

          本文标题:**javascript中的面向对象的理解**

          本文链接:https://www.haomeiwen.com/subject/lvznrxtx.html