ts class 完整例子
时间: 2023-05-31 18:02:03 浏览: 50
以下是一个 TypeScript 类的完整示例,类名为Person,具有 name 和 age 两个属性,以及一个 greet 方法:
```typescript
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
const person1 = new Person('John', 25);
person1.greet(); // 输出 "Hello, my name is John and I'm 25 years old."
```
在此示例中,我们首先定义了一个类 Person,其中包含两个属性 name 和 age,以及一个构造函数。构造函数通过传递参数来初始化类的属性。类还包含一个 greet 方法,该方法使用字符串字面量和类属性来输出一条简单的问候语。最后,我们创建一个名为 person1 的新 Person 实例,并调用其 greet 方法来输出问候语。
相关问题
在TS的class类中添加一个结构体
在 TypeScript 的类中,你可以使用接口来描述一个类的结构体。如果一个类需要实现某个接口,那么这个类必须实现接口中定义的属性和方法。下面是一个例子:
```typescript
interface Person {
name: string;
age: number;
}
class Student implements Person {
name: string;
age: number;
grade: number;
constructor(name: string, age: number, grade: number) {
this.name = name;
this.age = age;
this.grade = grade;
}
}
```
上面的代码中,我们定义了一个名为 `Person` 的接口,它有两个属性:`name` 和 `age`。然后我们定义了一个名为 `Student` 的类,它实现了 `Person` 接口。`Student` 类包括了三个属性:`name`、`age` 和 `grade`,其中 `name` 和 `age` 是从 `Person` 接口中继承来的,而 `grade` 是 `Student` 类自己的属性。在 `Student` 类的构造函数中,我们初始化了这三个属性。
你可以创建一个 `Student` 类的实例,如下所示:
```typescript
const student = new Student('张三', 20, 3);
console.log(student); // 输出:Student { name: '张三', age: 20, grade: 3 }
```
这个结构体包括了一个名字为 `张三`,年龄为 `20`,年级为 `3` 的学生的信息。
TS中的结构体在class类constructor中如何使用
在TypeScript中,结构体被称为接口(interface)。接口定义了一个对象的属性和方法的规范,可以在class类constructor中使用接口作为类型。例如:
```typescript
interface Person {
name: string;
age: number;
}
class Student {
constructor(private person: Person) {}
getPerson() {
console.log(`Name: ${this.person.name}, Age: ${this.person.age}`);
}
}
const student = new Student({ name: 'Tom', age: 18 });
student.getPerson(); // 输出: Name: Tom, Age: 18
```
在上面的例子中,我们首先定义了一个接口`Person`,它定义了一个人的`name`和`age`属性。然后我们定义了一个`Student`类,它的构造函数接受一个`Person`类型的参数,并将其存储在类中。最后我们定义了一个`getPerson`方法,它可以输出存储在类中的`Person`对象的`name`和`age`属性。