class-实例方法和静态方法

简介: class-实例方法和静态方法

class-实例方法和静态方法

 

一、新建实例

新建一个实例命名为07.class-实例方法和静态方法,删除复制06内的多余代码。

 

//当前在person内有两个实例属性分别是nameage

function Person (name, age){
this name = name
this.age = age


}//
想为person加一个say方法应该怎么加?

应该加在原型对象上。如果放在name上那么每个实例身上都会有一个say方法,这样就不太好,比较浪费内存。应挂载到person上。

// info
属性,直接挂载给了构造函数,所以它是静态属性
Person. info = 'aaaa'   //
静态属性

 

//实例方法

//既然有实例方法也有静态方法,静态方法应该挂载到person


Person. prototype.say = function(){

     //say方法已经挂载到原型对象上

//peraon实例上不应该有say方法是应该在双向量_proto_身上有一个,展开_proto_可以验证say确实挂载到了原型对象上。

fconsole.1og('这是Person ,的实例方法')
}     //
person建一个say方法,用原型对象法创建。

//为什么叫实例方法,因为say方法可以批量访问

 

//静态方法

//静态方法也是挂载到构造函数的。
Person. show = function(){

console.log('这是Person的静态show 方法)
}


const p1 = new Person('
王多多' ,18)

console.log (p1)

p1.say() //这是实例方法

//这是在构造原型对象上挂载了实例方法

p1.show()//P1肯定访问不到show,这是静态方法访问不到的

//静态方法都挂载到构造函数了,并不在原型对象上

 

//Animal内也有两个实例属性nameage

class Animal {
constructor (name, age) {

//onstructor构造器指向构造函数。构造器也是一个对象,挂载了静态属性info


//constructor
与静态属性平级。

//还有一个静态属性info
static info="eee""//(
今后用的不多)

}

//这是动物的实例方法(今后会经常用到实例方法)

jiao(){

console.log('动物的实例方法')

}

//jiao方法是一个挂载到实例对象上的方法。

 


//这是动物类的静态方法(今后用的不多)
static show() {
     console.log('
这是Animal的静态show 方法')

}//构造器和实例方法后面是用得比较多的

//加一个static就是静态方法了

 

const  a1 = new Animal('大黄'3)//打印一下a1
console.log (a1)

//打印a1不应该有jiao,是应该在他的原型对象上才有
a1.jiao() //
这是实例方法

//Animal上并没有jiao打开原型对象后才有。

Animal . show()

//Animal原型对象_proto_是没有show的。

 

打开原型的原型也是没有show的。

show方法被挂载到了原型构造器constructor上。

 

//通过class或构造函数直接.出来的是静态方法如果是static静态方法,实例是访问不到的。

如果没有static修饰,如name,jiao方法都是属于实例的。

相关文章
|
2天前
|
Java
静态方法和实例方法的区别是什么?
静态方法和实例方法的区别是什么?
|
Java
Java 类(私有属性、对象方法、类方法,构造函数)
Java 类(私有属性、对象方法、类方法,构造函数)
109 0
构造函数被private修饰后只能通过静态方法获得实例
构造函数被private修饰后只能通过静态方法获得实例
76 0
|
C++
C++类的静态方法
C++类的静态方法
78 0
|
Java C++
C++类中在构造器中调用本类的另外构造器
C++类中在构造器中调用本类的另外构造器
92 0
|
Java
Java中方法重写、修饰符、权限修饰符及final、static关键字
方法重写、修饰符、权限修饰符及final、static关键字的简单示例
124 0
Java中方法重写、修饰符、权限修饰符及final、static关键字
|
前端开发 开发者
class-实例方法和静态方法|学习笔记
快速学习 class-实例方法和静态方法
|
前端开发 开发者
class-子类访问父类上的实例方法|学习笔记
快速学习 class-子类访问父类上的实例方法
108 0
|
Python
一日一技:什么情况使用静态方法和类方法?
一日一技:什么情况使用静态方法和类方法?
226 0
一日一技:什么情况使用静态方法和类方法?