Я хочу лучше понять наследование, учитывая приведенный ниже пример, у меня есть два класса User
и Person
, которые оба простираются от BaseService
.
abstract class BaseService {
read(_props:
{ uuid: string } |
{ id: number }
) {
return true
}
}
class UserService extends BaseService { }
class PersonService extends BaseService { }
Можно ли User.read
взять user
опору и Person.read
взять пользовательскую опору? Тогда я бы хотел условно проверить эту опору в BaseService.read
.
Думая что-то вроде этого, но я не думаю, что я достаточно там.
class BaseService<T extends string> {
name: string
read(_props:
{ uuid: string } |
{ id: number } |
Record<T, boolean>
) {
}
}
class UserService extends BaseService<'user'> {
name = 'user'
}
class PersonService extends BaseService<'person'> {
name = 'person'
}