欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS类的继承

程序员文章站 2024-02-20 20:20:05
...

目录

JS类

写类

继承

get/set

Static

方法static修饰

属性static修饰(特殊)


JS类

写类

{
			class Parent{
				constructor(name="jini"){
					this.name=name;
				}
			}

			var v_parent=new Parent();
			console.log(v_parent);
		}

继承

就以上面的Parent类为父类,写一个Studnet继承他

{
			class Parent{
				constructor(name="jini"){
					this.name=name;
				}
			}

			class Student extends Parent{
				constructor(name,age){
					super(name);
					this.age=age;
				}
			}
			var st = new Student("jjj",22);

			console.log(st);
			//{name: "jjj", age: 22}
		}

使用extends以后会继承父类的所有的属性

get/set

{
			class Parent{
				constructor(name="jini"){
					this.name=name;
				}
				get aname(){
					return this.name;
				}
				set aname(value){
					this.name=value;
				}
			}

			var pp = new Parent();
			pp.aname="jinjinjinjkin";
			console.log(pp.aname);
			//jinjinjinjkin
			//给了参数调用set方法,不给参数调用的就是个get方法
			//set和get必须同名但是不能跟参数名字相同
		}


            //给了参数调用set方法,不给参数调用的就是个get方法
            //set和get必须同名但是不能跟参数名字相同

Static

方法static修饰

被static修饰的方法可以直接用类名调用,不用实例化类对象

{
			class Parent{
				constructor(name,age){
					this.name=name;
					this.age=age;
				}
				static tell(){
					console.log(123);
				}
			}
			//被static修饰的方法可以直接用类名调用,不用实例化类对象
			Parent.tell();
			//123
		}

属性static修饰(特殊)

{
			class Parent{
				constructor(name,age){
					this.name=name;
					this.age=age;
				}
			}
			Parent.sex="男";

			console.log(Parent.sex);
			let pp = new Parent("JIN",22);
			console.log(pp.sex);//undefined
			静态属性不能被实例对象调用,即通过以new 
操作符实例化后的对象调用,如上例中的obj调用,只能通过类名调用,即Obj调用
		}

Parent.sex="";这就是给这个类定义了一个static属性,该属性不能被实例化以后的对象调用,只能用类名调用,并且,所有的操作修改的是同一个属性参数,该参数在最开始的时候被加载

 

上一篇: vim常用配置

下一篇: vim常用配置