`
zccst
  • 浏览: 3309864 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

继承1

 
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>继承1</title>
</head>

<body>
<script type="text/javascript">
/**
* 继承的过程:
* 1,先找子类构造函数自有属性和方法。没有colors
* 2,再找子类的原型prototype。【此时是父类对象】
* 3,先找父类构造函数自有属性和方法。有了colors
* 4,再找父类的原型prototype。
*/
function SuperType(){
this.colors = ["red","blue","green"];
}

function SubType(){
}

SubType.prototype = new SuperType();


var s1 = new SubType();
s1.colors.push("black");
alert(s1.colors);

var s2 = new SubType();
alert(s2.colors);
/**
* 原型链的问题一:包含引用类型值的原型
* 分析:
* SuperType构造函数定义了一个colors属性(数组,是引用类型)
* SuperType的每个实例都各自包含自己数组的colors属性。
* 当SubType通过原型链继承了SuperType之后,SubType.prototype就变成了SuperType的一个实例,因此他也拥有了一个它自己的colors属性
* 结果是SubType的所有实例都会共享这一个colors属性。
*/


/**
* 原型链的问题二:在创建子类型的实例时,不能向超类的构造函数中传递参数
* 实际上,应该说是没有办法在不影响所有对象实例的情况下,给超类型的构造函数传递参数。
* 结论:实践中很少会单独使用原型链。
*/

</script>



</body>
</html>
分享到:
评论

相关推荐

    87、角色继承1

    Symfony 角色继承机制详解 Symfony 框架中的安全机制是一个非常重要的组件,它提供了身份验证和授权的功能,其中角色的继承机制是Symfony安全机制的一个关键部分。本文将详细介绍Symfony中的角色继承机制,并提供...

    Python计划. 面向对象语法精讲面.向对象基础 类的继承1.mp4

    Python计划. 面向对象语法精讲面.向对象基础 类的继承1.mp4

    C#继承学习实例

    1. sealed 类:使用`sealed`关键字修饰的类不能被继承,这可以防止意外的继承行为。 2. override 关键字:用于子类中覆盖父类的虚方法。必须确保父类方法已被声明为虚方法,否则编译器会报错。 六、构造函数与继承 ...

    (3.6.3)--扩展阅读:CSS样式的继承1

    这些属性根据其特性可以被分为两类:继承属性和非继承属性。理解这一点对于优化网页布局和确保元素样式的一致性至关重要。 **继承属性**: 继承属性是指那些默认情况下会从父元素传递给子元素的属性。这种继承机制...

    JackChan1999#Kotlin-Tutorials#继承1

    继承冲突

    Adam-Xi#KnowledgeEssay#继承1

    继承概念继承机制是面向对象程序设计可以是代码复用的最重要的手段继承允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生的类,称为派生类继承呈现了面向对

    实验4继承与派生(4学时)

    (1)定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 (2)定义一个基类Base...

    yeshuai0329#front-notes#0010、JavaScript 继承1

    1.父类 2.子类 3.实现Student 继承 Person 1.父类 2.子类 3.实现Student 继承 Person 1.父类 2.子类

    ChenZheying#BlogRepo#Swift学习笔记13-继承1

    子类Tandem继承自子类Bicycle,继承了Bicycle从Vehicle继承来的存储属性currentSpeed、只读计算属性description和方法

    ConardLi#awesome-coding-js#手动实现ES5继承1

    构造继承在子类构造函数中调用父类构造函数缺点:不能继承父类原型,函数在构造函数中,每个子类实例不能共享函数,浪费内存。组合继承使用构造继承继承父类参数,使用原型

    choya-lee#esay-python#继承1

    1.1 继承的概念、语法和特点 1.2 方法的重写 1.3 父类的 私有属性 和 私有方法 2.1 多继承的使用注意事项 2.2 新式类与旧式(经典)类

    ZhiyuSun#geektime#10【面向对象】多组合少继承1

    所以,从理论上讲,通过组合、接口、委托三个技术手段,我们完全可以替换掉继承,在项目中不用或者少用继承关系,特别是一些复杂的继承关系。如何判断改用组合还是继承如果

    nullWolf007#gitbook_books#一、类与继承1

    1.构造函数 2.继承 3.派生类初始化顺序

    kaiwenli#python_book#7.10类的继承1

    """动物类"""class Cat(Animal): # 定义类时,在括号后面传入父类的类名,表示子类继承父类Dog 和 Cat 都继承自Animal类,可以

    js代码-组合继承1

    在这个“js代码-组合继承1”的示例中,我们将深入探讨这一主题。 首先,让我们理解组合继承的基本概念。在JavaScript中,对象可以通过原型链来共享属性和方法,而构造函数则可以用来初始化实例的特定属性。组合继承...

    详细介绍C#中的继承

    1. **单继承**:这是最常见的继承形式,在这种形式下,一个类只能继承自一个基类。例如: ```csharp class BaseClass { /* ... */ } class DerivedClass : BaseClass { /* ... */ } ``` 在这个例子中,`Derived...

    C++多重继承

    例如,`Derived`继承自`Base1`和`Base2`,而`Base1`和`Base2`又都继承自`CommonBase`。 2. **虚继承解决方案**:为了解决菱形问题,C++提供了虚继承(virtual inheritance),通过在继承声明中添加`virtual`关键字...

    C继承机制PPT课件.pptx

    1. **继承与派生的基本概念**: - **继承**:是指一个类(派生类或子类)继承另一个类(基类或父类)的属性和方法的过程。 - **派生类**:是从已有类派生出来的新类。 - **基类**:是派生新类的基础类。 #### 二...

    python 零基础学习篇面向对象编程继承1 了解继承.mp4

    python 零基础学习篇

Global site tag (gtag.js) - Google Analytics