类的访问修饰符
- public类成员默认都是公开的
- private,声明私有成员,私有成员无法被继承,不希望被外部修改的成员定义为私有
- protected 可以继承,只能内部访问
- readonly只读的和const定义的常量类似
// 类成员默认都是公开的
// 类成员默认都是public
// private,声明私有成员,私有成员无法被继承
// 我们可以把不希望被外部修改的成员定义为私有
// protected 可以继承
// readonly只读的和const定义的常量类似
class Person{
public readonly name: string = 'zs';
// 类成员默认都是public
age: number;
//私有化成员,只能内部访问
// 声明类成员的同事为其赋值
private readonly type: string = '人类'
//受保护成语和private一样外部不能访问
//但是可以继承
protected foo: string = 'bar';
public getType() {
// 在类的内部访问私有成员
//但外部不能访问
return this.type;
}
// changeType() {
// this.typetype = 'haha'
// }
}
//new Person()
new Person().getType();
//私有成员无法被继承
class Student extends Person{
getfoo() {
// tpye不能访问
// this.tpye
console.log(this.foo)
}
}
new Student().getfoo();
//new Person().name = 'lisi';
类的通过修饰符简写成员
class Person1 {
// public name: string;
// public age: number;
// constructor(name: string, age: number) {
// this.name = name
// this.age = age
// }
public gender:string
constructor(public name: string, public age: number,gender:string) {
this.gender = gender;
}
}
new Person1('zs', 18,'男');
网友评论