`
starnc
  • 浏览: 145184 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

转:JS中OOP的写法【2】-继承

阅读更多

继承:继承提供了类级别代码复用, 通过继承获得基类的数据, 使得你有能力在已有代码基础上开发而不是从头再写一遍或者copy。我的理解是抽象出的事物本来就是应该互相有联系的,我们可以类来描述抽象的事物,用对象来描述具象的事物,但是这些都是独立的,这就不符合现实的逻辑,所以我们需要继承,让事物之间的联系得到描述。简单的例子:制造液晶显示器的人,一开始并不是直接制造出液晶显示器,而是先造球面的,后来才演变发展为液晶显示器,他们都有显示画面的作用都有电源开关,可能内部构造不太一样,但是还是继承了大部分的属性。
在JS里继承让我们可以将代码写的很优雅,而不是独立的每个FUNCTION去描述,看下面的代码:

/*oop中的继承在javascript中的应用
	man类为本演示的基本类
	具有姓名、年龄、职业三个属性
  */
  var man = function(){
	/*定义私有变量*/
	var name = "张三";/*默认nane值*/
	var age = 25; /*默认age值*/
	var business = "web bulider";/*默认职业值*/
	/*获得name方法*/
	this.getname = function(){
		return name;
	};
	/*name赋值方法*/
	this.setname = function(mingzi){
		name = mingzi;
	};
	/*获得age方法*/
	this.getage = function(){
		return age;
	};
	/*age赋值方法*/
	this.setage= function(nianling){
		age = nianling;
	};
	/*获得business方法*/
	this.getbusiness = function(){
		return business;
	};
	/*business赋值方法*/
	this.setbusiness= function(zhiye){
		business = zhiye;
	};
  }
 
  /*
	manjob类,本演示的子类
	将继承基类的性质
  */
  var manjob = function(){
	/*定义私有变量*/
	var page = "3个";/*做了多少个页面*/
	var js = "10个"; /*做了多少个JS*/
	var flash = "100个";/*做了多少个flash*/
	var feel = "bad"; /*感觉如何*/
	/*获得page方法*/
	this.getpage = function(){
		return page;
	};
	/*page赋值方法*/
	this.setpage = function(yemian){
		page = yemian;
	};
	/*获得js方法*/
	this.getjs = function(){
		return js;
	};
	/*js赋值方法*/
	this.setjs = function(jiaoben){
		js = jiaoben;
	};
	/*获得flash方法*/
	this.getflash = function(){
		return flash;
	};
	/*flash赋值方法*/
	this.setflash = function(donghua){
		flash = donghua;
	};
	/*获得feel方法*/
	this.getfeel = function(){
		return "心情很"+feel;
	};
	/*feel赋值方法*/
	this.setfeel = function(xinqing){
		feel = xinqing;
	};
  }
  /*
	继承开始,用manjob的prototype方式呼叫
	man类,继承man类的属性和方法
  */
  manjob.prototype = new man();
 
  /*实例化*/
  var mydate = new Date();
  var tomie = new manjob();//实例化一个manjob
  /*赋值*/
  tomie.setname("tomie");/*基类*/
  tomie.setage(25);/*基类*/
  tomie.setbusiness("前端开发");/*基类*/
  tomie.setpage("20个");/*子类*/
  tomie.setjs("200个");/*子类*/
  tomie.setflash("10个");/*子类*/
  tomie.setfeel("happy");/*子类*/
  /*打印结果*/
   alert("继承后返回的方法为:"+tomie.getname + tomie.getage + tomie.getbusiness + tomie.getpage + tomie.getjs + tomie.getflash + tomie.getfeel)
  alert(tomie.getname() +"年龄为"+ tomie.getage() +"岁,职业为"+ tomie.getbusiness() +",于"+(mydate.getMonth()+1)+"月完成了页面"+ tomie.getpage() +",脚本"+ tomie.getjs() +",动画"+ tomie.getflash() +","+ tomie.getfeel())

 

分享到:
评论

相关推荐

    Javascript的OOP编程

    在JavaScript中,OOP主要通过构造函数、原型链、封装、继承和多态来实现。 1. 构造函数:构造函数是用于初始化新创建的对象的特殊函数。在JavaScript中,我们可以使用`function`关键字定义一个构造函数,例如: ``...

    JavaScript权威指南

    #### 六、面向对象编程(OOP)在JavaScript中的应用 - **构造函数**:创建对象实例的模板。 - **原型链**:实现继承的基础。 - **类(class)**:ES6引入的新特性,更接近传统面向对象语言的类的概念。 - **模块化**:...

    js面向对象方法实现拖拽特效

    在JavaScript中,面向对象编程(OOP)是一种强大的设计模式,可以用来构建复杂、可复用的代码结构。本文将详细介绍如何使用JavaScript的面向对象方法实现拖拽特效,并结合继承的概念,为初学者提供深入的理解。 一...

    原生js实现无缝轮播(包括面向对象的写法)

    面向对象编程(OOP)强调数据封装、继承和多态,可以更好地组织代码。对于无缝轮播,我们可以定义一个`Slider`类,包含以下属性和方法: #### 属性 - `container`: 存放轮播图片的DOM元素。 - `slides`: 所有轮播...

    讲解JavaScript的面向对象的编程

    -目的说明它是在第1,2阶段文档演示的JavaScript面向对象的书写方式的进一步改进,它是现代JavaScript面向对象编程方式(使用基本类来编码)的过渡代码--没有它就没有当今的JS OOP--此人非常牛!!! 4. 最后使用IE...

    前端面试宝典

    - 面向对象编程(OOP)的关键概念包括封装、继承和多态。 **闭包:** - 闭包是指能够读取其他函数内部变量的函数。 - 实现内存管理的重要手段之一。 **插件与模块化:** - 插件可以扩展JavaScript的功能。 - 模块化...

    JavaScript面向对象编程指南(第2版).rar

    面向对象编程(Object-Oriented Programming,OOP)是JavaScript中的一个重要概念,它允许开发者通过对象来组织代码,提高可读性和可维护性。本指南的第二版深入探讨了JavaScript的面向对象特性,旨在帮助开发者更好...

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    js高级技术2

    JavaScript,简称JS,是Web开发领域中不可或缺的脚本语言,尤其在前端开发中占据着核心地位。"js高级技术2"这个主题涵盖了JavaScript的一些深入和高级概念,这些概念对于提升编程技能和优化代码性能至关重要。以下是...

    js面向对象游戏开发,飞机大战

    在JavaScript的世界里,面向对象编程(Object-Oriented Programming,OOP)是一种常见的设计模式,尤其在游戏开发中,它能帮助我们构建复杂且可扩展的代码结构。本项目"js面向对象游戏开发,飞机大战"是利用...

    js面向对象

    在JavaScript中,面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它允许我们以更符合现实世界的方式来组织代码。本知识点将深入探讨JavaScript中的面向对象特性,特别是其继承机制。 ...

    ○2FTP采集应用:采集来自于OVO,SITESCOPE,TIVOLI的性能数据。

    - **面向对象的基础知识**:面向对象编程(OOP)的基本概念包括封装、继承和多态性。 - **内置对象**:JavaScript提供了一系列内置对象,如Array、Boolean、Date等,可用于处理不同类型的数据。 - **Prototype属性**:...

    怎么理解js的面向对象编程共9页.pdf.zip

    在JavaScript中,面向对象编程(Object-Oriented Programming,OOP)是其核心概念之一,帮助开发者创建可复用、模块化的代码。下面将详细解释JavaScript的面向对象编程。 1. **对象和原型**: JavaScript中的对象...

    JavaScript面向对象程序程序设计PPT与代码

    面向对象编程(Object-Oriented Programming,OOP)是软件开发中的一个重要概念,它允许我们通过模拟现实世界中的对象来组织和管理代码。在JavaScript中,面向对象编程主要体现在三个方面:构造函数、原型和闭包。 ...

    javascript 面向对象程序设计博客文章

    尽管JavaScript的原始OOP机制基于原型,但ES6引入了类语法,它提供了一种更接近传统面向对象语言的写法,但底层仍然基于原型。类的实例化、继承、静态方法等都可以通过类语法实现。 9. **模块系统** JavaScript有...

    es6-examples:ES6示例-Javascript新手

    ES6 引入了基于原型的面向对象编程的类语法,虽然实质上仍然是函数,但提供了更接近传统 OOP 语言的写法。通过 `class` 关键字定义类,`extends` 关键字实现继承。 6. **模块(Module)** 使用 `import` 和 `...

    Modern-JavaScript-Syntaxes:现代JavaScript语法

    ES6 引入了基于原型的面向对象编程的类语法,虽然实质上仍然是函数,但提供了更接近传统 OOP 语言的写法。类支持构造函数、继承、静态方法等特性。 8. **模块(Module)**: 模块系统允许你组织代码,导入和导出...

    COP4331LargeGroup:COP 4331的大型项目(面向对象编程的原理)

    4. **ES6中的类(Class)**:尽管JavaScript在ES6中引入了类的语法糖,但它们仍然基于原型,提供了更接近传统面向对象语言的写法。 **学习面向对象编程的重要性:** - **模块化**:通过封装和继承,可以使代码更加...

Global site tag (gtag.js) - Google Analytics