TypeScript类成员的修饰符

本节课我们来开始了解 TypeScript 的类成员字段和方法的修饰符。

一.成员方法修饰符

1. 在不加修饰符的情况下,成员字段和方法默认是公共 public 完全可见的状态;
2. 如果要在其设置一下不同的可见性,一共有三种方案:
(1) .public :默认设置,公有可见性;
(2) .protected :受保护的,自身和子类可访问;
(3) .private :私有的,只能自身访问;
PS :为什么要设置可放访问性,主要是为了保护类中属性和方法避免被污染;
PS :这里只演示成员字段即可,方法也是一个意思;
3. 在默认的情况下,成员字段是 public 修饰符,我们在类外可以直接赋值;
// 人类
class Person {
...
}
let p = new Person('Mr.Lee', 100)
// 直接截胡了
p.name = 'Mr.Zhang'
// 也可以直接取值
console.log(p.name)
console.log(p.run())

4. 如果设置了私有成员,那么就无法在类外进行取值赋值,进行有效的保护;
class Person {
private name : string
private age : number
}
PS:类外 p.name 赋值取值会直接报错;但这种私有化,子类就无法直接访问了;
// 成员字段私有化,子类如果要重写,就无法访问 this.name
class Man extends Person {
run() : string {
return this.name + '的年龄为:' + this.age
}
}

5. 如果有子类,并且需要对子类开放权限,那么就使用 protected 受保护的;
class Person {
protected name : string
protected age : number
}
PS:对于方法或构造方法,也可以使用这些修饰符,比如受保护的构造,就不能在外部调用了;
class Person {
protected name : string
protected age : number
// 构造方法
protected constructor(name : string, age : number) {
this.name = name
this.age = age
}
}
class Man extends Person {
constructor(name : string, age : number) {
super(name, age)
}
run() : string {
return this.name + '的年龄为:' + this.age
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值