javascript类的继承-Javascript实现基于类的继承

2023-08-29 0 6,641 百度已收录

我们知道javascript没有“类”的概念,那么javascript是不是就不能实现继承呢? 答案是否定的,下面的反例实现了两个类的继承。

javascript类的继承-Javascript实现基于类的继承

Person是父类,Student是泛型类型,extend是实现两个对象继承的函数。 “subClass.superClass = superClass.prototype.constructor”是在泛型类型上添加一个静态属性,用于保存父类的构造函数javascript类的继承,方便父类属性的复制继承,“Student.superClass.call( this,name,age); //属性继承”就是实现父类属性的复制继承。 要实现两个类的集成javascript类的继承,只需要调用extend函数即可完成继承。

javascript类的继承-Javascript实现基于类的继承


		index.html
		
		
		
		
			// Super class
			var Person = function(name,age) {
				this.name = name;
				this.age = age;
				this.books = [];
			};
			
			Person.prototype.getBooks = function() {
				return this.books;
			};
			
			// sub Class
			var Student = function(no,name,age) {
				this.no = no;
				Student.superClass.call(this,name,age); // 属性继承
			};
			
			// 继承
			function extend(subClass,superClass) {
				var F = function() {};
				F.prototype = superClass.prototype;
				subClass.prototype = new F();
				subClass.superClass = superClass.prototype.constructor;
				
			};
			
			//Student.prototype = new Person();
			extend(Student,Person);
			
			Student.prototype.show = function() {
				alert(this.name + "," + this.age);
			};
			
			var stu1 = new Student("wangmei",26);
			stu1.books.push("java");
			alert(stu1.getBooks());
			
			var stu2 = new Student("jiashu",28);
			stu2.books.push("javascript");
			alert(stu2.getBooks());	
			
					
		
	
	
	
	

javascript类的继承-Javascript实现基于类的继承

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript类的继承-Javascript实现基于类的继承 https://www.wkzy.net/game/177274.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务