`
李俊良
  • 浏览: 146102 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 对象和对象继承

阅读更多

/*
	以下是个简单的继承的例子
	就是Student继承了Person
*/
function Person(name,sex){
	this.name = name;
	this.sex = sex;
};

Person.prototype = {
	setName:function(name){
		this.name = name;
	},
	getName:function(){
		return this.name;
	},
	setSex:function(sex){
		this.sex = sex;
	},
	getSex:function(){
		return this.sex;
	}
};

function Student(name,sex,age){
	Person.call(this,name,sex);
	this.age = age;
};

Student.prototype = new Person();

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

Student.prototype.getAge = function(){
	return this.age;
};
/*
	首先我们需要了解的是继承的本质
	继承的期望是子类能够拥有父类的所有的属性和方法
	并且,当父类被修改,或者新增方法之后
	子类也能跟着变
	但是如果子类被修改,父类还是保持不变。

	然后开始分享我的一些理解
*/

/*  1.类的定义的时候是否使用prototype来定义类的方法或者属性  */

/*
	Person这个类的方法还可以这么定义
*/
function Person(name,sex){
	this.name = name;
	this.sex = sex;
	var setName = function(name){
		this.name = name;
	};
};
Person.prototype = {
	getName:function(){
		return this.name;
	},
	setSex:function(sex){
		this.sex = sex;
	},
	getSex:function(){
		return this.sex;
	}
};
/*
	如果这么定义的话就会发生一个问题,就是Student在继承setName之后
	如果修改Person的setName方法,那么Student获取不到最新的setName方法
	但是使用prototype来设置的setName方法,后面再修改setName方法
	Student是可以获取到最新的setName方法的。
	这个大家可以自己去尝试下


        还有一些其他的问题,一时想不起来了,慢慢的加一下,有谁也有一些问题,告诉我,我一起加进来
*/
 
1
1
分享到:
评论

相关推荐

    javascript对象参考手册

    最后,手册可能还会涉及面向对象编程的概念,如封装、继承和多态,以及JavaScript中的类和模块系统。这将帮助开发者构建更结构化、可维护的代码。 总的来说,"JavaScript对象参考手册"是一本全面的资源,无论你是...

    js javascript zInherit 对象 继承

    总的来说,`zInherit`是JavaScript对象继承的一种实现,它利用原型链实现继承关系,使得子类可以继承和扩展父类的属性和方法。理解并熟练掌握这种继承方式,对于深入理解JavaScript的OOP特性以及编写高效的代码至关...

    Javascript面向对象编程.

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

    JavaScript面向对象继承详解

    每个JavaScript对象都有一个内部的[[Prototype]]属性,通常可以通过`__proto__`或`Object.getPrototypeOf`访问。当试图访问对象的一个属性时,如果该属性不存在于当前对象,JavaScript会向上搜索原型链,直到找到该...

    学习javascript面向对象 javascript实现继承的方式

    继承是面向对象编程的核心概念之一,它允许我们创建一个新对象,该对象继承现有对象的属性和方法。在JavaScript中,实现继承有多种方式,每种方式都有其特点、优势和不足。本文将详细介绍六种实现JavaScript继承的...

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

    - **第三章:JavaScript中的类和对象**:详细介绍如何使用JavaScript创建类和对象。 - **第四章:继承**:探讨JavaScript中实现继承的不同方式。 - **第五章:封装和私有性**:讲解如何在JavaScript中实现封装以及...

    JavaScript面向对象的支持

    通过原型链,对象可以访问并继承其构造函数原型上的属性和方法。 2. **函数作为一等公民**: 在JavaScript中,函数不仅是可调用的数据类型,还可以作为其他数据类型的成员。函数可以被赋值给变量、作为参数传递,...

    深入浅出JavaScript对象模型

    ### 深入浅出JavaScript对象模型 #### JavaScript对象的本质 根据ECMA262规范,ECMAScript被定义为一种基于对象的语言而非传统的面向对象语言。这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,...

    Javascript 面向对象的JavaScript进阶

    ### JavaScript面向对象进阶知识点...通过以上示例和理论分析,我们可以看到面向对象的JavaScript如何通过封装、抽象、继承和多态性等特性来构建更加灵活和可维护的代码结构。这对于开发复杂的Web应用程序至关重要。

    面向对象JavaScript开发

    4. **继承**:JavaScript支持多种继承方式,如原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承和寄生组合式继承等。其中,最常用的可能是原型链继承,通过设置`prototype`指向另一个对象来实现。 ```...

    浅谈JavaScript对象与继承_.docx

    关于对象继承,JavaScript采用的是原型链机制。每个对象都有一个`__proto__`属性,指向它的原型。当试图访问对象的一个属性时,如果对象本身没有该属性,JavaScript会查找`__proto__`,如果`__proto__`也没有,就会...

    JAVASCRIPT 面向对象编程精要

    JavaScript提供了几种面向对象的机制,包括继承和封装。 ##### 4.1 封装 JavaScript中的封装主要通过闭包实现。例如,可以创建一个返回私有属性和方法的对象的函数: ```javascript function createPerson(name, ...

    JavaScript面向对象编程指南.pdf

    函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript...

    JavaScript面向对象编程指南

    函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript...

    JavaScript对象定义

    在本文中,我们将深入探讨JavaScript对象的定义、创建方法以及相关的工具和技术。 首先,我们要了解JavaScript对象的本质。对象是由键值对(key-value pairs)构成的集合,这些键可以是字符串或符号,而值可以是...

    JavaScript继承

    JavaScript中的继承是一个核心概念,它在面向对象编程中扮演着至关重要的角色。与其他面向对象语言相比,JavaScript的继承机制更为复杂。在Java或C++等语言中,继承通常只需要一个关键字,如`extends`,但在...

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

    JavaScript的面向对象主要基于三个核心概念:封装、继承和多态。封装是将数据和操作这些数据的方法结合在一起,形成一个独立的单元,即对象。在JavaScript中,对象是键值对的集合,可以使用对象字面量或构造函数创建...

Global site tag (gtag.js) - Google Analytics