最近学了 JS 的面向对象,这篇文章主要是探讨 JS 的面向对象中继承的那些事. JS中继承的特点: 1.子类继承父类: 2.子类可以用父类的方法和属性 3.子类的改变可以不影响父类 下面用一个例子来说明 JS 的继承 这段代码创建了一个父类以及它的原型,同时还创建了一个子类,并继承了父类的私有属性 <script> //这是父类 function Father(name,age,marry){ this.name=name; this.age=age; this.marry=marry; }…
引言 JS是一门面向对象的语言,但是在JS中没有引入类的概念,之前特别疑惑在JS中继承的机制到底是怎样的,一直学了JS的继承这块后才恍然大悟,遂记之. 假如现在有一个“人类”的构造函数: function Human() { this.type = '人类'; } 还有一个“男人”的构造函数: function Man(name,age) { this.name = name; this.age = age; } 现在我们想实现的是,让这个“男人”继承“人类”. 借用构造函数 我们可以通过在子类…
背景: 在最开始学习JavaScript时,我们就知道,它是一种脚本语言,也有面向对象机制.但它的面向对象继承机制是基于原型的,即Prototype.今天,我们就来找一下JS中OO的影子. 创建类 1.用function模拟创建类,类似构造函数 function Animal() { this.name = "动物"; this.action = "打招呼"; } var animal = new Animal(); alert(animal.name + &quo…
面向对象的基本特征有:封闭.继承.多态. 在javascript中实现继承的方法: 1.原型链(prototype chaining) 2.call()/apply() 3.混合方式(prototype 和 call()/apply()结合) 4.对象冒充 继承的方法如下: 1.prototype原型链方式: 2.call()/apply()方法: 3.混合方法[prototype,call/apply] 4.对象冒充…
继承是面向对象程序设计不可缺少的机制,有了继承这个东西,可以提高代码的重用,提高代码的效率,减轻代码员的负担. 面向对象三大特性:封装.继承.多态是相辅相成的.封装为了继承,限制了父类的哪些成员被子类继承,而继承则是为了多态,使得某一父类类型的变量 因为指向的对象不同而表现不同的性质,这就是多态,多态更进一步提高了代码的质量.使得程序朝着人类习惯性思维方向发展,多态也使得扩展程序更加容易,扩展程序不再需要大面积修改原来的代码. 当然这一节讲的是继承,理解了继承才能理解多态 定义: 为了提高代码的…
1.原型链继承: function teacher(name){ this.name = name; } teacher.prototype.sayName = function(){ alert(this.name); } function student(name){ this.name = name; } student.prototype = new teacher() var student1 = new student("xiaolan"); student1.sayNam…
1.基本概念 子类继承父类,但是不能影响父类.包括1.混合继承(构造函数+原型) 2.ES6新增class的继承. 接下来介绍,面向对象中继承的两种常用写法.即混合继承(构造函数+原型)和class继承.推荐class继承 需要用到的知识点,构造函数.原型与原型链. (1)构造函数:构造函数是函数.也是类.通过new调用,产生实例对象.通过实例对象访问对象下面具有的属性和方法.(构造函数内部的属性和方法都是私有的)         属性:对象的特点,修饰对象的,私有.         方法:对象…
  前  言 JRedu 在之前的两篇博客中,我们详细探讨了JavaScript OOP中的各种知识点(JS OOP基础与JS 中This指向详解 . 成员属性.静态属性.原型属性与JS原型链).今天我们来继续探讨剩余的内容吧. 我们都知道,面向对象的三大特征--封装.继承.多态. 封装无非就是属性和方法的私有化,所以我们JS中提供了私有属性和私有方法. 而JS中并没有多态,因此我们说JS是一门基于对象的语言,而非面向对象的语言. 那么,面向对象三大特征中,在JS中最重要的就是继承了. 一继承的…
一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 <SPAN style="BACKGROUND-COLOR: #ffffff"><SPAN style="FONT-SIZE: 18px"><html> <body> <script type="text/javascript"> function Person(name,age){ this.name…
一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 代码如下: <SPAN style="<SPAN style="FONT-SIZE: 18px"><html> <body> <script type="text/javascript"> function Person(name,age){ this.name=name; this.age=age; } Person…