类(class): 定义了一切事物的抽象特点(属性和方法)
对象(object): 类的实例(通过 new 来生成)
面向对象特点: 封装,继承,多态
定义
class
类名
{ }
使用
const
形参
= new类名
(传参
)
class Fn {
name: string = '你吃饭了吗?'
}
const fn = new Fn
console.log(fn.name)
我这里使用的是 Code Runner
这个插件,可以直接执行当前文件
ts
的class类和js
的class类有什么区别吗?修饰符
默认公共 public
自由访问程序里定义的变量和方法
私有的 private
当成员被标记为私有属性,只能在类进行使用,不能外部使用,子类也不可访问
这边继承也是无法使用的
使用方式
受保护的 protected
和private
相似,唯一不同的是,被protected
修饰的属性可以在子类中访问
当类中的方法被声明 为 static
时,其 实例化对象,不可调用该方法,只有类本身 ,以及其子类可以调用。
这里使用实例化打印Fn
这个类的时候,会发现定义static
的属性已经消失了
如何获取静态属性呢?
readonly
人们常常与const
相比,使当前的实例属性是只读
的,不可以修改
修改静态属性
如何获取readonly
的属性
当你要修改只读属性的时候
static
和 readonly
是可以一起使用的.
但是
划重点了啊
static
必须在前面,因为static
决定了你的访问方式,默认是实例化属性,但是是需要先将实例化属性改为静态属性才能继续获取到里面的参数