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

Javascript 面向对象编程定义对象函数的方法

阅读更多

//A.利用传统的原始方法定义对象的方法(函数) 一

    function Programmer(name,age,position){      
		this.name = name;      
		this.age = age;      
		this.position = position;   
	   
	   	this.displayInfo =  function(){    
			alert("[Name: "+ this.name +"]  [Age: "+this.age+"]  [position: "+this.position+"]");
		}
	
		this.setName = function(name){    
		   this.name = name;
		}

		this.setAge = function(age){    
			this.age = age;
		}

		this.setPosition = function(position){    
		    this.position = position;
		}
	
    }  
    
   var oBpmProgrammer = new Programmer("Kevin",24,"BPM Programmer");   
   oBpmProgrammer.displayInfo();    //[Name: Kevin] [Age: 24] [position: BPM Programmer]
   oBpmProgrammer.setName("Andy");
   oBpmProgrammer.displayInfo();    //[Name: Andy] [Age: 24] [position: BPM Programmer]


//B.利用传统的原始方法定义对象的方法(函数) 二

    function Programmer(name,age,position){      
       this.name = name;      
       this.age = age;      
       this.position = position;        
    }     
          

	Programmer.prototype.displayInfo =  function(){    
       alert("[Name: "+ this.name +"]  [Age: "+this.age+"]  [position: "+this.position+"]");      
	}
	
	Programmer.prototype.setName = function(name){    
         this.name = name;
	}

	Programmer.prototype.setAge = function(age){    
         this.age = age;
	}

	Programmer.prototype.setPosition = function(position){    
         this.position = position;
	}
	

  var oBpmProgrammer = new Programmer("Kevin",24,"BPM Programmer");   
  oBpmProgrammer.displayInfo();    //[Name: Kevin] [Age: 24] [position: BPM Programmer]
  oBpmProgrammer.setName("Andy");
  oBpmProgrammer.displayInfo();    //[Name: Andy] [Age: 24] [position: BPM Programmer]


//C.利用原型定义对象方法(函数)的另一种方法

  function Programmer(name,age,position){      
      this.name = name;      
      this.age = age;      
      this.position = position;        
  }     
          
 Programmer.prototype = {
	displayInfo : function(){    
       alert("[Name: "+ this.name +"]  [Age: "+this.age+"]  [position: "+this.position+"]");      
	},

	setName : function(name){    
         this.name = name;
	},

	setAge : function(age){    
         this.age = age;
	},

	setPosition : function(position){    
         this.position = position;
	},

	sex:"male"
 }

  var oBpmProgrammer = new Programmer("Kevin",24,"BPM Programmer");   
  oBpmProgrammer.displayInfo();    //[Name: Kevin] [Age: 24] [position: BPM Programmer]
  oBpmProgrammer.setName("Andy");
  oBpmProgrammer.displayInfo();    //[Name: Andy] [Age: 24] [position: BPM Programmer]
  alert(oBpmProgrammer.sex)        //male



//D.测试这种方法使用的继承是否有效




  function Person(name,age,position){      
      this.name = name;      
      this.age = age;      
      this.position = position;        
  }     
          
 Person.prototype = {
	displayInfo : function(){    
       alert("[Name: "+ this.name +"]  [Age: "+this.age+"]  [position: "+this.position+"]");      
	},

	setName : function(name){    
         this.name = name;
	},

	setAge : function(age){    
         this.age = age;
	},

	setPosition : function(position){    
         this.position = position;
	},
	sex:"male"
 }

  
  function Programmer(name,age,position){
		Person.call(this,name,age,position)
  }

  Programmer.prototype = new Person();   

  var oBpmProgrammer = new Programmer("Kevin",24,"BPM Programmer");   
  oBpmProgrammer.displayInfo();    //[Name: Kevin] [Age: 24] [position: BPM Programmer]
  oBpmProgrammer.setName("Andy");
  oBpmProgrammer.displayInfo();    //[Name: Andy] [Age: 24] [position: BPM Programmer]
  alert(oBpmProgrammer.sex)        //male
0
0
分享到:
评论

相关推荐

    JavaScript面向对象程序设计中对象的定义和继承详解

    本文实例讲述了JavaScript面向对象程序设计中对象的定义和继承。分享给大家供大家参考,具体如下: 在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把...

    JavaScript面向对象程序设计创建对象的方法分析

    本文实例讲述了JavaScript面向对象程序设计创建对象的方法。分享给大家供大家参考,具体如下: 面向对象的语言具有一个共同的标志,那就是具有“类”的概念,但是在javascript中没有类的概念,在js中将对象定义为...

    面向对象的程序设计(01)

    面向对象的程序设计:ECMA-262 对对象的定义为:无序的属性集合,其属性包含 ECMAScript 中的基本类型、对象及函数。 简单来讲,对象就是一组没有顺序的值。 对象的每个属性或者方法都有一个标识名,而每个标识名都...

    javaScript函数式编程

    JavaScript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量...

    Javascript面向对象扩展库(lang.js)

    lang.js是Javascript面向对象编程的扩展库,支持包、类的定义和函数重载等功能,接口简洁规范,易用性强,压缩包内包含文档示例和带注释的源码,欢迎下载试用。

    写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

    本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言...

    JavaScript 面向对象编程(2) 定义类

    本文承接上一篇JavaScript面向对象编程(1) 基础。 上篇说过,JavaScript没有类的概念,需要通过函数来实现类的定义。先通过一个例子说明: 代码如下: function myClass() { var id = 1; var name = “johnson”; ...

    javascript面象对象编程

    面向对象思想中,最核心的概念之一是类。 类:对一组属性及方法的集合。 二、函数 函数定义方法 函数声明后加括号 – 创建完成后立即调用执行 函数对象和其它内部对象的关系 – 对于Function, Object, Array, Date...

    javascript面向对象程序设计高级特性经典教程(值得收藏)

    本文实例讲述了javascript面向对象程序设计的高级特性。分享给大家供大家参考,具体如下: 1.创建对象的三种方式: 第一种构造法:new Object var a = new Object(); a.x = 1, a.y = 2; 第二种构造法:对象直接量...

    javascript 面向对象编程基础 多态

    其它面向对象语言的多态一般都由方法重载和虚方法来实现多态,Javascript也通过这两种途径来实现! 重载:由于Javascript是弱类型的语言,而且又支持可变参数,当我们定义重载方法的时候,解释器无法通过参数类型和...

    JavaScript面向对象程序设计教程

    JavaScript中对象的定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。可以把对象想象成散列表,就是一组名值对(key:value),其中值可以是数据或函数,每个对象都是基于一个引用类型创建的。 理解...

    worldwindjava源码-javascript-oop:面向对象编程和面向对象JavaScript

    中的面向对象编程 学习目标 使用构造函数生成特定类型的对象。 使用构造函数将属性附加到新对象。 回想一下在构造函数中定义方法的成本。 通过将自定义对象附加到原型来定义自定义对象的方法。 使用 ES6 类语法重构...

    javascript面向对象程序设计(一)

    //ECMA-262把对象定义为:“无序属性的 集合,其属性可以包含基本值、对象或者函数” //理解对象,最简单的方式就是通过创建一个Object的实例,然后为它添加属性和方法 var person = new Object(); person.name ...

    JavaScript_oo:javascript面向对象

    对象在面向对象编程中,类是对象的模板,对象就是类的实例,例如“狗”是一个类,而这只狗就是一个对象,这只叫“hello dog”的狗就是一个实例。如何定义类1. 构造函数法这是经典方法,也是教科书必教的方法。它用...

    JavaScript面向对象之体会[总结]

    看这篇文章之前,希望大家了解c++、java、c#等高级语言,有面向对象编程的基础知识。 1.类的定义: function ClassName(){ } 大家可以发现类的定义形式是和函数是一样的。 其实函数和类只有在使用的时候才能分辨出来...

    浅谈javascript面向对象程序设计

    ECMA-262把对象定义为:“无序属性的 集合,其属性可以包含基本值、对象或者函数” 理解对象,最简单的方式就是通过创建一个Object的实例,然后为它添加属性和方法 代码如下:  var person = new Object();  ...

    JavaScript定义类或函数的几种方式小结

    在《javaScript高级程序设计》(人民邮电出版社,曹力、张欣译。英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细。我们看看JavaScript中定义类的各种方法。 1.工厂方式 ...

    学习javascript面向对象 理解javascript对象

    面向对象:对象作为程序的基本单元,程序分解为数据和相关操作 二、类、对象 类:对具有相同特性和特征事物的抽象描述 对象:某种类型对应的具体事物 三、面向对象的三大特性 封装:隐藏实现细节,实现代码模块化 继承...

    源文件程序天下JAVASCRIPT实例自学手册

    4.1 面向对象编程与基于对象编程 4.1.1 什么是对象 4.1.2 面向对象编程 4.1.3 面向对象编程:继承 4.1.4 面向对象编程:封装 4.1.5 面向对象编程:多态 4.1.6 基于对象编程 4.2 JavaScript对象的生成 4.2.1 HTML文档...

    JavaScript面向对象程序设计三 原型模式(上)

    使用它的好处就在于可以让所有对象实例共享它所包含的属性和方法,也就是说,不必在构造函数中定义对象的信息,而是可以将这些信息,直接添加在原型对象中,如下所示,还是接着改写前两篇日志中的例子: 代码如下: ...

Global site tag (gtag.js) - Google Analytics