面向对象继承一之经典继承
2016-11-03 21:55
120 查看
经典继承
//继承实现方案1:经典继承/构造函数继承,就是使用call调用父类的构造函数
//从而获得它的实例属性(直接写在构造函数中的属性)
//Cat 继承Animal
//所有的动物都有的特征
function Animal() {
this.species = "动物";
this.eat = function() {
alert("吃吃吃...");
}
}
function Cat(color) {
//猫有动物所具有的所有特征
Animal();//相当于window.Animal,此时的Animal是绑定到window对象的
Animal.call(this);//将Animal函数绑定到新建的Cat对象中
this.tail = "尾巴";
this.color = color;
this.scream = function() {
alert("喵喵喵...");
}
this.catchMouse = function() {
alert("抓老鼠...");
}
}
var m1 = new Cat("小黄");
console.log(m1);//Cat {species: "动物", tail: "尾巴", color: "小黄"}
//从而获得它的实例属性(直接写在构造函数中的属性)
//Cat 继承Animal
//所有的动物都有的特征
function Animal() {
this.species = "动物";
this.eat = function() {
alert("吃吃吃...");
}
}
function Cat(color) {
//猫有动物所具有的所有特征
Animal();//相当于window.Animal,此时的Animal是绑定到window对象的
Animal.call(this);//将Animal函数绑定到新建的Cat对象中
this.tail = "尾巴";
this.color = color;
this.scream = function() {
alert("喵喵喵...");
}
this.catchMouse = function() {
alert("抓老鼠...");
}
}
var m1 = new Cat("小黄");
console.log(m1);//Cat {species: "动物", tail: "尾巴", color: "小黄"}
//继承实现方案1:经典继承/构造函数继承,就是使用call调用父类的构造函数
//从而获得它的实例属性(直接写在构造函数中的属性)
//Cat 继承Animal
//所有的动物都有的特征
function Animal() {
this.species = "动物";
this.eat = function() {
alert("吃吃吃...");
}
}
function Cat(color) {
//猫有动物所具有的所有特征
Animal();//相当于window.Animal,此时的Animal是绑定到window对象的
Animal.call(this);//将Animal函数绑定到新建的Cat对象中
this.tail = "尾巴";
this.color = color;
this.scream = function() {
alert("喵喵喵...");
}
this.catchMouse = function() {
alert("抓老鼠...");
}
}
var m1 = new Cat("小黄");
console.log(m1);//Cat {species: "动物", tail: "尾巴", color: "小黄"}
//从而获得它的实例属性(直接写在构造函数中的属性)
//Cat 继承Animal
//所有的动物都有的特征
function Animal() {
this.species = "动物";
this.eat = function() {
alert("吃吃吃...");
}
}
function Cat(color) {
//猫有动物所具有的所有特征
Animal();//相当于window.Animal,此时的Animal是绑定到window对象的
Animal.call(this);//将Animal函数绑定到新建的Cat对象中
this.tail = "尾巴";
this.color = color;
this.scream = function() {
alert("喵喵喵...");
}
this.catchMouse = function() {
alert("抓老鼠...");
}
}
var m1 = new Cat("小黄");
console.log(m1);//Cat {species: "动物", tail: "尾巴", color: "小黄"}
相关文章推荐
- 一个经典实例理解继承与多态原理与优点(附源码)---面向对象继承和多态性理解得不够深刻的同学请进
- 【JavaScript学习】面向对象的程序设计(5):组合继承(伪经典继承)
- 面向对象中的合成(Composition)和继承(Inheritance)关系
- Java面向对象继承与组合的问题
- JavaScript 面向对象程序设计(下)——继承与多态
- Javascript乱弹设计模式系列(0) - 面向对象基础以及接口和继承类的实现
- 关于面向对象设计中继承与组合的选择
- 【转】使用组合替代继承(面向对象软件设计的“开—闭”原则 )
- 关于面向对象继承实方法和虚方法
- java面向对象思想之继承、多态
- c#面向对象中的继承初步认识
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- Delphi面向对象学习随笔四:继承与封装
- 面向对象的程序设计-非常经典的解释与教程[转]
- 面向对象基础知识(二)-类的继承
- 面向对象继承
- JavaScript的面向对象机理2)-继承
- 经典的文章----面向对象思想 1
- (转)JavaScript 面向对象程序设计(下)——继承与多态
- ASP.NET AJAX的面向对象思想--访问修饰与继承