class-为子类挂载独有的实例属性和实例方法

简介: class-为子类挂载独有的实例属性和实例方法

class-为子类挂载独有的实例属性和实例方法

 

一、为子类挂载独有的实例属性和方法

 

class Person{
constructor(name,age){

this.name = name

this.age = age

}

sayHello(){

console.log(‘大家好’)

}

}

 

class American extends Person{

constructor(name,age){

 

//问题1:为什么一定要在constructor中调用super

//答案:因为如果一个子类,通过extends关键字继承了父类。那么在子类constructor构造函数中,必须优先调用super()


//问题2super是什么东西?

//答案:super是一个函数,而且它是父类的构造器,子类中的super其实就是父类中,constructor构造器的一个引用

 

//问题3:为什么调用了super之后,a1实例的nameage都变成了undefined了?

 

super(name,age)

}

}

 

const a1 = new American(‘Jack’,20)

console.log(a1)

a1.sayHello()

 

class Chinese extends Person{

//name姓名

//age年龄

//IDNumber身份证号 【中国人独有】 既然是独有的,就不适合挂载到父类

constructor(name,age, IDNumber){

 

 

//语法规范,在子类中,this只能放到super之后使用

this.IDNumber = IDNumber

super(name,age)

}

}

const c1 = new American(‘张三’,20’130428*******’)

console.log(c1)

c1.sayHello()

 

实例属性:是通过new出来的实例访问到的属性

class Animal{

//类中的构造器

   constructor (name,age)

   {

this.name=name; // 实例属性

this.age=age; // 实例属性

   }

}

 

console.log(a1.name)

console.log(a1.age)

 

实例方法:挂载到原型对象prototype上的方法

 

function Person(name,age)

{

   this.name=name;

   this.age=age;

}

 

//实例方法

Person.prototype.speak=function()

{

   console.log("Person的实例方法")

}

 

p1.speak();

 

实例方法在调用时 通过创建出的对象调用

相关文章
|
1天前
|
搜索推荐
如何在构造函数中为类的实例添加方法?
在实际开发中,要根据具体的场景和需求来选择合适的方式来为类的实例添加方法,以确保代码的可读性、可维护性和性能。
|
7天前
|
设计模式
在静态方法中访问类的实例属性和方法时会发生什么?
总之,静态方法主要用于处理与类本身相关的操作和逻辑,不应该直接访问类的实例属性和方法。如果需要在静态方法中使用与实例相关的信息,应该通过合理的参数传递或其他设计模式来实现,以保持代码的清晰性和面向对象设计的原则。
35 8
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
174 0
Class 类对象的三种实例化模式|学习笔记
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
|
前端开发 开发者
class-为子类挂载独有的实例属性和实例方法|学习笔记
快速学习 class-为子类挂载独有的实例属性和实例方法
|
JavaScript 前端开发 开发者
class-创建类并通过 constructor 挂载实例属性|学习笔记
快速学习 class-创建类并通过 constructor 挂载实例属性
225 0
|
应用服务中间件 Python
|
JavaScript 前端开发 Java
创建Class类的实例对象的三种方法
创建Class类的实例对象的三种方法
256 0
|
JavaScript 前端开发
class-创建类并通过constructor挂载实例属性
一、Class的基本使用 二、使用class关键字来创建对象 三、总结