TypeScript的类
TypeScript中的类是基于ES6中的类语法进行扩展的,类是一种面向对象的编程范式,它允许将属性和行为封装在一个单独的实体中,并通过类的实例来访问和操作这些属性和行为。
在TypeScript中,类由属性、方法和构造函数组成,可以使用箭头函数或lambda表达式来定义类方法。类可以继承自另一个类并实现接口。除此之外,TypeScript中的类支持访问修饰符(public、private和protected)和静态属性和方法。
1.1 class类
TS中的class,不仅提供了class的语法功能,也作为一种类型存在
const p:Person = new Person()
实例属性初始化
name: string = "kangyun";
gender = "男";
}
const p: Person = new Person();
构造函数 构造函数:为class类的实例属性初始化值的 构造函数不需要返回值
name: string;
gender: string;
constructor(name: string, gender: string) {
this.name = name;
this.gender = gender;
}
}
const p: Person = new Person('张三', '男');
</script>
类的实例方法
class Person {
name: string;
gender: string;
constructor(name: string, gender: string) {
this.name = name;
this.gender = gender;
}
// 方法的类型注解(参数和返回值)与函数用法相同
sayHello(name: string): void {
console.log(`hello,${name}`);
}
}
const p: Person = new Person("张三", "男");
p.sayHello("李四");
1.2 class类成员可见性
可见性修饰符包括:
public 公有的 proected 受保护的 private 私有的 public表示公共、公有的,公有成员可以被任何地方访问 public: 是默认可见性,所以可以直接少略
public move(){
console.log('moving!')
}
}
protected: 表示受保护的,仅对其所在类和子类中(非实例对象)可见 在子类的方法内部可以通过this来访问父类中受保护的成员,但是对实例不可见
protected move() {
console.log("moving");
}
}
class Dog extends Animal {
bark() {
console.log("汪汪......");
this.move();
}
}
const dog = new Dog();
dog.bark();
private: 表示私有的,只在当前类中可见,对实例对象以及子类也是不可见的
private move() {
console.log("moving");
}
walk(){
this.move()
}
}
通过今天的学习,让我知道了关于类的知识,也知道了学习类对于TypeScript的重要性。