Три раза один и тот же экземпляр класса, но немного разные значения экземпляра - PullRequest
0 голосов
/ 31 мая 2019

У меня есть класс с кучей переменных экземпляра. Теперь я хочу создать три экземпляра этого класса, где большинство значений одинаковы, но только некоторые из них имеют разные значения. Существуют ли какие-либо возможности или концепции для этого без (глубокого) клонирования одного экземпляра? Являются ли подклассы для этих экземпляров лучшим способом?

Я думал о клонировании одного экземпляра, но мои классы глубоко вложены, и это также кажется неэффективным.

Это класс, который у меня есть. В моем случае большинство переменных остаются прежними, но у shortDescription разные значения среди этих трех экземпляров.

export default class Event extends Base {
  public id!: number;
  public afterbuyId!: number;
  public shopId!: number;

  public name!: string;
  public sellingPrice!: number;
  public taxRate!: number;
  public level!: number;
  public shortDescription!: string;
  public startDate!: Date;
  public startTime!: Date;
  public endDate!: Date;
  public endTime!: Date;
  public quantityCheckProduct!: boolean;
  public active!: boolean;

  public venues: Venue[] = [];
  public bundles: Bundle[] = [];
  public paymentMethods: PaymentMethod[] = [];
  public deliveryMethods: DeliveryMethod[] = [];
  public categories: Category[] = [];
}

Игнорировать тот факт, что переменные являются общедоступными.

1 Ответ

0 голосов
/ 31 мая 2019

Хорошо, я уже нашел решение.Я верну массив объектов, состоящий из необходимых переменных и их значений:

public generateRequestObject(): any {
    return [
      {
        "name": this.name,
        "sellingPrice": this.sellingPrice
      },
      {
        "name": `MP ${this.name}`,
        "sellingPrice": this.sellingPrice
      }
    ];
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...