类的创建
类的创建普普通通,跟其他语言创建类的方法基本相同
class 类名{
添加属性,方法,构造函数
(必须给属性赋值)
}
只含有属性的类
类中的属性必须有初始值,如果类中只有属性没有方法和构造函数,只能手动给属性赋值。如果只有属性,有两种语法可以实例化该类 ,分别是直接给每个属性重新赋值和通过new实例化一个类(通过new实例化且无构造函数传参的情况下属性的值跟创建类时给的值一样)
//创建一个含有name age 属性的Person类
class Person{
name:string=''
age:number=0
}
//通过直接给类中属性重新赋值实例化一个类
let me :Person={
name:'吴彦祖',
age:18,
}
//通过new 实例化一个类
let you:Person=new Person()
有构造函数的类
如果类中有构造函数,可以通过构造函数constructor(构造函数是类中特殊函数,其在该类被实例化的时候执行,可以通过构造函数在实例化类的时候传递参数,默认返回值this(指向该类的指针)不支持指定返回值)给属性赋值,且可以通过快捷方式创建构造函数的同时给属性赋值
=》=》
=》
如果类中有方法或者构造函数,那么实例化不再支持直接赋值的语法,必须通过new来实例化
//创建一个含有name age 属性的Person类
class Person{
name:string
age:number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
daYin(){
console.log('名字',this.name,'年龄',this.age)
}
}
//通过直接给类中属性重新赋值实例化一个类 有构造函数或者方法不再支持该写法
/*let me :Person={
name:'吴彦祖',
age:18,
}*/
//通过new 实例化一个类
let you:Person=new Person('彭于晏',20)
you.daYin()
总结:
1.创建类 class 类名{ 添加属性、方法、构造函数}
2.快捷创建构造函数,通过构造函数的参数给属性赋值
3.实例化类,如果含有方法或者构造函数,只能通过new来实例化