js的面向对象的三大特征

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

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

1.封装性

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

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

class Person(name,sal){

https://www.360docs.net/doc/6a1548178.html,=name; //公开

var sal=sal;//私有

this.showInfo=function(){ //公开

window.alert(https://www.360docs.net/doc/6a1548178.html,+””+sal);

}

showInfo2(){ //把函数私有化.

window.alert(“你好”+https://www.360docs.net/doc/6a1548178.html,+””+sal)

}

}

◆通过构造函数添加成员方法和通过原型法添加成员方法的区别

1.通过原型法分配的函数是所有对象共享的.

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

3.建议,如果我们希望所有的对象使用同一一个函数,最好使用原型法添加函

数,这样比较节省内存.

function Dog(){

this.shout=function(){

}

}

//原型法

Dog.prototype.shout=function (){

window.alert("小狗尖叫"+https://www.360docs.net/doc/6a1548178.html,);

}

//通过原型也可以给每个对象,分配属性

Dog.prototype.color="red";

var dog1=new Dog("aa");

var dog2=new Dog("bb");

if(dog1.shout==dog2.shout){

window.alert("dog1.shout==dog2.shout");

}

dog1.color="黑色";

window.alert(dog1.color+" "+dog2.color);

4.请大家看一个题:

function Person(){

}

// 创建对象

var p1=new Person();

// p1.say(); [错误]

// 这时用原型法分配

Person.prototype.say=function(){

window.alert("ok");

}

p1.say();

结论是类.prototype.函数=function (){};

称为后置绑定.

js面相对象的继承

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

①对象冒充

代码如下:

②通过call 或者apply来实现

js的继承小结

(1)js对象可以通过对象冒充,实现多重继承Object 类是所有js类的基类

面向对象三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础 三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。 所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; 所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。 五大基本原则 单一职责原则SRP(Single Responsibility Principle) 是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一

Java的三大特性

Java是完全面向对象的计算机编程语言,它有三大特性: 1、封装性 封装是面向对象的方法所遵循的一个重要原则,它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中;二是指“信息隐藏”,把不需要让外界知道的信息隐藏起来,有些对象及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知道,或只允许使用对象的功能,而尽可能隐藏对象的功能实现细节。 封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法。 封装机制的另一个特点是,为封装在一个整体内的变量及方法规定不同级别的“可见性” 或访问权限。 2、继承性 继承是面向对象方法中的重要概念,并且使提高软件开发效率的重要手段。首先拥有反映事物一般特性的类,然后再其基础上派生出反映特殊事物的类。在Java程序设计中,已有的类可以是Java开发环境所提供的一批最基本的程序——类库,用户开发的程序类就是继承这些已有的类。这样,现在类所描述的属性及行为,即已定义的变量和方法,在继承产生的类中可以使用。面向对象程序设计中的继承机制大大增加了程序代码的可复用性,提高了软件的开发效率,降低了程序产生错误的可能性,也为程序的修改扩充提供了便利。Java支持单继承,通过接口的方式来弥补由于Java不支持多继承而带来的子类不能享用多个父类的成员的缺点。 3、多态性 多态是面向对象程序设计的又一个重要特征。多态是允许程序中出现重名现象。Java语言中含有方法重载与对象多态两种形式的多态。 方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。 对象多态:子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同,完成的功能也不同。 多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分组协同开发。 怎样理解面向对象的三大特性: 一、封装 1、概念:封装也称为信息隐藏,是指利用抽象数据类型(即ADT,一个ADT是一个仅由保 存的数据类型和可能在这个数据类型上进行的操作定义的,用户只能通过ADT的操作方法来访问ADT的属性,而且用户不会知道这个数据类型内容各种操作是如何实现的。ADT 提供了一个对象公共接口中的操作和其具体的实现公开的强有力的工具,这使得一个ADT的实现可以不断变化和演化同时保持其公共接口不变。)将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分中有通过包裹在数据外面的被授权的操作与这个抽象数据类型交流与交互,即用户不需要知道对象内部方法的实现细节,但可以根据提供的外部接口(对象名和参数)访问该对象。 2、优点:a)实现了专业的分工:将能实现某一特定功能的代码封装成一个独立的实体后, 各程序员可以在需要的时候调用,从而实现了专业的分工。b)实现了信息的隐藏:通

Js中的Parent对象

Js中的Parent对象 文章分类:Web前端 该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。 parent: 该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的父分割窗口。 opener: 指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。 附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系:Windows对象→Parent对象→Frame对象→Document对象→Form对象, 如下:parent.frame1.document.forms[0].elements[0].value; 问题:在一个页面嵌入框架