YUI中js的继承示例

YUI中js的继承示例无标题文档一个简单的例子。在这个例子中,可以看到,用var定义的私有变量,是不能被继承的。所有能被继承的,一定是通过this关键字,在内在地址中和这个对象的地址捆在一起的变量。因为复合对象传的不是值

大家好,又见面了,我是你们的朋友全栈君。<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

<title>无标题文档</title>

<script type=”text/javascript” src=”http://cn.yimg.com/i/yui/2.5.2/build/yahoo-dom-event/yahoo-dom-event.js”></script>

</head>

<script type=”text/javascript”>

function RichWin()

{

    this.tpl = “adang”;

    this.alert = function(){alert(this.tpl)};

    var testStr = “hello world”;

    this.show = function(){alert(testStr)};

}

function Tool_common()

{

    this.constructor.superclass.constructor.call(this);

    this.type = “tool_common”;

}

YAHOO.lang.extend(Tool_common,RichWin);

var obj = new Tool_common();

alert(obj.testStr);

obj.show();

</script>

<body>

</body>

</html>

一个简单的例子。在这个例子中,可以看到,用var 定义的私有变量,是不能被继承的。所有能被继承的,一定是通过this关键字,在内在地址中和这个对象的地址捆在一起的变量。因为复合对象传的不是值而是址,所以通过一个公开的方法,方法内部调用私有属性,来间接访问私有变量。这一点和正式的oop语言倒是没两样。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154957.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号