Показать сообщение отдельно
  #1 (permalink)  
Старый 08.07.2010, 08:40
dp_ dp_ вне форума
Интересующийся
Отправить личное сообщение для dp_ Посмотреть профиль Найти все сообщения от dp_
 
Регистрация: 23.02.2010
Сообщений: 10

Наследование
<html>
<head>
<title>Inheritance demo</title>
</head>
<body>
<script type="text/javascript">


	var Class = function(parent,methods){
		if (arguments.length == 1) { 
			methods = parent; 
			parent = null; 
		}
		var child = function() { 
			this.initialize.apply(this, arguments);
		};
		if (typeof(parent) == 'function') {
			child.prototype = new parent;
			child.superclass = parent;
		}
		if (typeof(methods) != 'undefined' && methods !== null) {
			for (var prop in methods) {
				if (!child.prototype[prop] && typeof(methods[prop]) == 'function') {
					child.prototype[prop] = methods[prop];
				}
			}
		}
		if (!child.prototype.initialize) child.prototype.initialize = function(){};
		child.prototype.constructor = child;
		return child;
	}

	var baseClass = Class({
		initialize:function(text){
			this.text = text;
		},
		display: function(){
			alert(this.text);
		}
	});

	var childClass = Class(baseClass,{
		initialize:function(){
			this.superclass("base class text");
		},
		display2: function(){
			alert('child class text');
		}
	});

	var obj = childClass();
	obj.display();
	obj.display2();


</script>
</body>
</html>

Может кто нибудь мне объяснить почему этот код не работает?

Последний раз редактировалось dp_, 08.07.2010 в 08:50.
Ответить с цитированием