просто измените расположение ваших классов:
import { Component } from '@angular/core';
class M_otherClass {
constructor(){
}
test(){
console.log('test')
}
}
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent extends M_otherClass {
constructor(){
super();
this.test();
}
}
отметьте это stackblitz
update :
ok, в вашем service.ts
import { Injectable } from '@angular/core';
@Injectable()
class ParentService{
constructor(){}
get(){console.log('test')}
}
@Injectable()
class ChildService extends ParentService{
constructor (){
super();
}
}
export {
ChildService,
ParentService
}
в вашем компоненте для использования услуг:
import { Component } from '@angular/core';
import { ChildService } from './app.service.ts'
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
constructor(public childService:ChildService){
this.childService.get();
}
}
в вашем приложении.module.ts :
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent} from './app.component';
import { HelloComponent } from './hello.component';
import { ChildService, ParentService } from './app.service.ts'
@NgModule({
imports: [ BrowserModule, FormsModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ],
providers: [ ChildService, ParentService]
})
export class AppModule { }
проверить это работает stackblitz