原型链&&面向对象----多态

原型链:
由多级父对象(原型对象)逐级继承形成的链式结构。
一个对象可以访问的所有父级原型对象,以及这个对象可用点访问到的所有属性和方法。
判断一个对象能否使用某一个属性和方法,唯一标准就是这个属性或方法是否保存在这个对象的原型链上。
属性或方法的使用顺序:先自由,再共有,就近原则。

多态:
一个函数在不同情况下表现出不同的状态
重写:
在子对象中定义一个和父对象中成员名同名的自有成员。
Student.prototype.className=“初一 二班”
lilei.className=“初一 三班”----重写
从父对象继承来的成员可能不好用,都可以在子对象中重写同名的成员。

自定义继承:
new自动生成的_ proto 的继承关系是可以修改的
1.只更换一个对象的父对象
子对象.
proto =新父对象(不是所有浏览器都支持)
Object.setPrototypeOf(子对象,父对象)代替
proto _
设置子对象的原型对象为父对象

	function Student(sname,sage){
		this.sname=sname;
		this.sage=sage;
	}
	var father={
		money:100000000,
		car:BMW X7
	}
	Object.setPrototypeOf(hmm,father);
	var lilei=new Student("lilei",17);
	var hmm=new Student("hmm",18);
	console.log(lilei);
	console.log(hmm);
更换一种类型下的所有子对象的原型对象:
	只需要修改构造函数的prototype属性
		构造函数.prototype=新属性
	在创建子对象之前就要更换
	function Student(sname,sage){
		this.sname=sname;
		this.sage=sage;
	}
	var father={
		money:10000000,
		car:BMW X7
	}
	Student.prototype=father;
	var lilei=new Student("lilei",18);
	var hmm=new Student("hmm",17);
	console.log(lilei);
	console.log(hmm);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值