Typescript 接口 和继承 数组处理
// 定义一个接口,表示具有id和name的对象
interface Named {
id: number;
name: string;
}
// 定义一个接口,表示具有items数组的对象,items数组中存储的是Named对象
interface NamedCollection {
items: Named[];
}
// 实现一个类,继承自NamedCollection,并添加了一个方法来查找具有特定id的Named对象
class NamedItemRepository implements NamedCollection {
items: Named[] = [];
add(item: Named) {
this.items.push(item);
}
findById(id: number): Named | undefined {
return this.items.find(item => item.id === id);
}
}
// 使用示例
const repository = new NamedItemRepository();
repository.add({ id: 1, name: 'Item 1' });
repository.add({ id: 2, name: 'Item 2' });
const item = repository.findById(1);
if (item) {
console.log(`Found item with name: ${item.name}`);
} else {
console.log('Item not found');
}
这个代码示例展示了如何在TypeScript中定义接口、实现继承和数组处理。它定义了一个Named
接口来描述具有id
和name
属性的对象,然后定义了一个NamedCollection
接口来描述具有Named
对象数组的集合。NamedItemRepository
类实现了这个接口,并添加了一个add
方法来添加项目,以及一个findById
方法来查找具有特定id
的项目。最后,我们添加了一些示例项目,并使用findById
方法来查找并打印出名称。
评论已关闭