You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classPeople2{publicreadonlymylike: stringconstructor(mylike:string){this.mylike=mylike}}letp4=newPeople2('react')// p4.mylike = 'vue' // Cannot assign to 'mylike' because it is a read-only property
classPeople{// 这是类的静态属性,需要通过这个类去调用staticmyName:string='chenying'// 这是类的静态方法,需要通过这个类去调用staticsayHello():void{console.log('hello ts')}}letp3=newPeople()console.log(p3.myName)// Property 'myName' is a static member of type 'People'console.log(p3.sayHello())// Property 'sayHello' is a static member of type 'People'tsconsole.log(People.myName)console.log(People.sayHello())
typescript(三) - 类
如何定义类
我们先来看下最简单的定义类的方法吧
存取器
我们知道类中有
getter
和setter
我们看一下这段代码会给编译之后什么样子的
实际上是通过
Object.defineProperty
来监听People
原型上的like
属性, 这里要注意是People
原型上的like
属性参数属性
其实上面存取器的例子我们可以使用另外一种写法
编译之后得到的结果也是一样的
readonly
readonly
修饰的变量只能在构造函数中初始化, 表示只读不可以修改如果给
mylike
赋值的话会报错修饰符
类里面的修饰符有三种, 分别是
public
、protected
、private
public
申明的变量在类里面、子类或者其他地方都可以使用protected
类里面 子类 都可以访问,其它任何地方不能访问, 我们可以发现在其他地方使用会报错protected
类里面可以访问, 子类和其它任何地方都不可以访问, 会报错静态属性 静态方法
抽象类
抽象描述一种抽象的概念,无法被实例化,只能被继承,而且抽象方法不能在抽象类中实现,只能在抽象类的具体子类中实现,而且必须实现
抽象类一般用于定义一些公用的工具类
The text was updated successfully, but these errors were encountered: