【原】JavaScript 对象的“继承”

JavaScript 是一种基于原型(prototype) 的面向对象语言
其继承是通过一个对象的prototype 属性实现的
将一个构造函数的prototype 赋值为其父的一个实例即可实现继承,
此时再用此构造函数创建出来的实例都会具有父类型的那个实例中的属性和值

示例代码:

<html>
<head>
    <title>对象的继承</title>
    <script type="text/javascript">
        function Person(name, age)
        {
            this.name = name;
            this.age = age;
        }
 
        function Student(num)
        {
            this.num = num;
        }
 
        var person = new Person("zhangyu", 20);
        window.alert("Person 的prototype 是:" + Person.prototype);
        window.alert("person 的prototype 是:" + person.prototype);
 
        var student_not_inherit = new Student(1701090118);
        window.alert("Student 的prototype 是:" + Student.prototype);
        window.alert("student_not_inherit 的prototype 是:" + student_not_inherit.prototype);
        window.alert("student_not_inherit 的name属性是:" + student_not_inherit.name);
 
        Student.prototype = person;
        var student_inherit = new Student(1701090118);
        window.alert("Student 的prototype 是:" + Student.prototype);
        window.alert("student_inherit 的prototype 是:" + student_inherit.prototype);
        window.alert("student_inherit 的name属性是:" + student_inherit.name);
 
    </script>
    </style>
</head>
<body>
    <p>演示继承</p>
</body>
</html>
此条目发表在 HTML/Javascript/CSS 分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>