2016-09-06 5 views
1

У меня есть класс Moviecharacter, который представляет данные json о персонажах фильмов, а также класс актера, который содержит информацию об актерах. Я хочу, чтобы добавить класс Actor в мой Moviecharacter класса без использования дублирующих атрибутов:Typcript: Class in Class

Моих версий для актера и MovieCharacter являются:

// actor class stores general information about an actor in a json file 
export class Actor{ 
    name: string; 
    id: number; 
} 

// duplicated attributes name and id: 
export class MovieCharacter { 
    name: string; 
    id: number; 
    character: string; 
} 

Но я хочу что-то вроде этого:

// without duplicated Attributes: 
export class MovieCharacter { 
    Actor(); // not working 
    character: string; 
} 

Любая помощь будет оценена по достоинству.

ответ

2

// без дублирующих атрибутов:

Подозреваю вы ищете наследования:

// actor class stores general information about an actor in a json file 
export class Actor { 
    name: string; 
    id: number; 
} 

// Inherits name and id from Actor 
export class MovieCharacter extends Actor { 
    character: string; 
} 

Больше

Некоторые полезные документы: https://basarat.gitbooks.io/typescript/content/docs/classes.html

+0

большой, наследование было то, я искал :) – SirCheckmatesalot

1

Вы во-первых, необходимо указать элемент как «имя: тип»

Если вы хотите создать новый экземпляр класса на строительство вы можете сделать следующее ..

class MovieCharacter { 
    actor: Actor; 

    constructor() { 
     this.actor = new Actor(); 
    } 
}