`
mylove2060
  • 浏览: 335945 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Javascript 面向对象编程使用接口的方法

阅读更多
var Interface = function(interfaceName,interfaceMethods){
	if(arguments.length!=2){
		alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
	}
	
	this.interfaceName = interfaceName;
	this.interfaceMethods = new Array();
	for(var i = 0;i < interfaceMethods.length;i++){
		if(typeof interfaceMethods[i] !== "string"){
			alert("Interface constructor expects each method name to be passed in as a string");   
			break;
		}
		this.interfaceMethods.push(interfaceMethods[i])
	}
}

Interface.CheckImplements = function(object,interfaces){
	if(arguments.length!=2){
		alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
	}

	for(var i=0;i,i<interfaces.length;i++){
		//alert(interfaces[i])
		if(interfaces[i].constructor !== Interface){
			alert("the interface expects to be created from Interface")
			break;
		}
		var interface = interfaces[i];
		for(var j=0;j<interface.interfaceMethods.length;j++){
			method = interface.interfaceMethods[j];
			if(!object[method]||(typeof object[method]!="function")){
				alert("object for the method '"+method+ " ' is not found for Interface '"+ interface.interfaceName+ " '")
				break;
			}
		}
	}
}

var PersonInterface = new Interface("PersonInterface",["display","walk","eat","shout"])  //定义一个接口

var Person = function(){
	
	this.display = function(){
		
	}

	this.eat = function(){
		
	}

	this.shout = function(){
		
	}
}
 person = new Person();
 Interface.CheckImplements(person,[PersonInterface]) 
//会弹出对话框object for the method 'walk ' is not found for Interface 'PersonInterface '

//注明,这似乎要在Person对象被创建后才能检测,这相当于后绑定,用一个函数来检测,这似似乎是一个缺陷,如何使用早期绑定,这正是要研究的一个题目。
分享到:
评论

相关推荐

    JavaScript面向对象编程指南.pdf

    JavaScript面向对象编程是指在JavaScript语言中使用面向对象的方法来编写程序。JavaScript是一种高级的、解释型的编程语言,它支持面向对象的编程范式,允许开发者创建对象、使用继承和多态等面向对象的特性。以下是...

    JavaScript面向对象编程指南 pdf

    下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **类与对象** - 在JavaScript中,对象是键值对的集合,可以通过字面量语法或构造函数创建。例如: ```javascript const person = { ...

    JavaScript面向对象编程指南

    这些只是JavaScript面向对象编程的一些基本概念和技巧,实际应用中还有更深入的模式和策略,如模块化、设计模式等。理解并熟练运用这些概念,将有助于你编写出更加高效、可维护的JavaScript代码。

    JavaScript面向对象程序设计

    在JavaScript面向对象编程中,随着Web2.0和Ajax技术的普及,JavaScript的角色从简单的表单验证扩展到了复杂的数据交互和页面动态更新。采用面向对象的编程风格可以使代码结构更加清晰,便于管理和维护。例如,...

    面向对象JavaScript精要(英文原版pdf)

    面向对象编程(OOP)是一种软件开发方法,它通过将数据和处理这些数据的方法捆绑在一起形成“对象”来组织代码。这种编程方式使得代码更加模块化,易于管理和扩展。OOP的核心概念包括类、对象、继承、封装、多态等。 ...

    javascript面向对象编程pdf

    总结来说,JavaScript面向对象编程涵盖了从基本原理到实现细节的多个方面,包括但不限于对象、构造函数、原型链、继承以及封装等。本书系统地介绍了这些知识点,并通过实例演示了如何在现代JavaScript中实现OOP,...

    JavaScript面向对象编程

    JavaScript是一种广泛应用于Web开发的动态脚本语言,其在创建交互式网页和应用程序时起着核心作用。...阅读《JavaScript面向对象编程.pdf》这份资料,你将能够进一步了解和掌握JavaScript的面向对象编程技巧。

    javascript面向对象编程

    通过这种方式,JavaScript面向对象编程不仅包括了代码的实际编写,还包括了测试和调试的环节,确保代码的质量和可维护性。学习和掌握面向对象编程的方法是学习JavaScript的重要一环,对于任何想要深入学习并掌握...

    Javascript 面向对象的JavaScript进阶

    ### JavaScript面向对象进阶知识点详解 #### 8.1 面向对象编程的基本特性 在探讨面向对象的JavaScript之前,我们首先需要了解面向对象编程(Object-Oriented Programming, OOP)的基本特性:封装性、抽象性、继承...

    javascript面向对象编程(中文)

    在本“JavaScript面向对象编程”主题中,我们将深入探讨这一概念及其在JavaScript中的应用。 1. **对象和类的概念**:在面向对象编程中,对象是数据和操作这些数据的方法的集合。在JavaScript中,对象是由键值对...

    面向对象JavaScript开发

    JavaScript,作为一种广泛应用于Web开发的动态脚本语言,最初被设计为简单的客户端脚本语言,但随着技术的发展,它已经发展出了丰富的面向对象编程(OOP)特性。面向对象JavaScript开发是现代Web开发中不可或缺的一...

    javascript 经典面向对象设计

    标题“JavaScript经典面向对象设计”指出了本书的主要内容是关于如何使用面向对象编程(OOP)原则和技术来编写高质量、可扩展且可重用的JavaScript应用程序及库。描述中提到本书相比其他中文资料更为清晰,深入到...

    Javascript 面向对象编程

    ### JavaScript面向对象编程详解 #### 一、JavaScript与面向对象编程 JavaScript虽然是一种基于对象的语言,但其设计并不像传统的面向对象编程语言那样拥有明确的类(class)概念。这使得在JavaScript中实现面向...

Global site tag (gtag.js) - Google Analytics