2017-01-13 3 views
0

Ich habe eine Schnittstelle namens Person, die die Eigenschaft hat, genannt Adresse, die eine Art von AddressInterface hat, die eine Schnittstelle ist. Ist es richtig, eine Eigenschaft einer anderen Schnittstelle zu haben oder sollte dies eine Klasse Address sein, die die Adreßschnittstelle implementiert?Typoskript deklarieren Schnittstellen-Typ als eine andere Schnittstellen-Typ

PersonInterface

import {AddressInterface} from "./address.interface" 

export interface PersonInterface{ 
    firstname:string; 
    lastname:string; 
    dob:string; 
    address:AddressInterface; 
    username:string; 
    email:string; 
} 

AddressInterface

export interface AddressInterface{ 
    name:string; 
    line1:string; 
    line2:string; 
    city:string; 
    postalcode:string; 
    region:string; 
    country:string; 
} 
+0

Yep, scheint die erstere die bessere Option für mich. Verwenden Sie "AddressInterface". – cartant

+0

Vereinbart, da Typoskript eine strukturell typisierte Sprache ist, ist es völlig akzeptabel, das zu tun, was Sie oben getan haben. Es muss nicht in einer Klasse implementiert werden, es sei denn, es werden auch Methoden verwendet – alechill

Antwort

0

I Testklasse alle Eigenschaften von PersonInterface.I zu implementieren denke, dies ist der beste Weg, um die Struktur zu folgen. Diese ist die Klasse struture

Exportklasse Testklasse PersonInterface implementiert {

firstname = "firstname"; 
    lastname = "lastname"; 
    dob = "12-25-1999"; 
    address = { 
     name: "name", 
     line1: "line1", 
     line2: "line2", 
     city: "city", 
     postalcode: "postalcode", 
     region: "region", 
     country: "country", 
    }; 
    username = "username"; 
    email = "email"; 
} 

Schnittstellendefinition: - „Schnittstellen füllen die Rolle diese Art der Namensgebung, und sind eine leistungsfähige Methode zur Definition Verträge innerhalb des Codes als sowie Verträge mit Code außerhalb Ihres Projekts ".

Verwandte Themen