js的面向对象的三大特征 联系客服

发布时间 : 星期一 文章js的面向对象的三大特征更新完毕开始阅读614d75a6647d27284a735153

? js的面向对象的三大特征

1. 封装性

所谓封装,就是把我们抽象出的属性和对属性的操作写到类的定义中,称为封装.

js 中实现封装主要有两种封装( 公开,私有)

class Person(name,sal){ this.name=name; //公开 var sal=sal;//私有 this.showInfo=function(){ //公开 window.alert(this.name+” ”+sal);

}

showInfo2(){ //把函数私有化. window.alert(“你好”+this.name+” ”+sal) } }

? 通过构造函数添加成员方法和通过原型法添加成员方法的区别 1. 通过原型法分配的函数是所有对象共享的.

2. 通过原型法分配的属性是独立.(如果你不修改属性,他们是共享)

3. 建议,如果我们希望所有的对象使用同一一个函数,最好使用原型法添加函数,这样比较节省内存.

function Dog(){

this.shout=function(){ } } //原型法

Dog.prototype.shout=function (){ window.alert(\小狗尖叫\ } //通过原型也可以给每个对象,分配属性 Dog.prototype.color=\

var dog1=new Dog(\ var dog2=new Dog(\ if(dog1.shout==dog2.shout){ window.alert(\ } dog1.color=\黑色\ window.alert(dog1.color+\

4. 请大家看一个题:

function Person(){ } // 创建对象 var p1=new Person(); // p1.say(); [错误] // 这时用原型法分配 Person.prototype.say=function(){ window.alert(\ } p1.say();

结论是 类.prototype.函数=function (){}; 称为后置绑定.

? js面相对象的继承

看一段代码->问题是什么?

①对象冒充

代码如下: