самый легкий способ заставить класс наследовать конструкторов (C#)

more_itertools имеет функцию chunked :

import more_itertools as mit


list(mit.chunked(range(9), 5))
# [[0, 1, 2, 3, 4], [5, 6, 7, 8]]

7
задан 7 June 2009 в 21:15
поделиться

4 ответа

Вы ищете базовое ключевое слово. Вы можете использовать его для вызова базового конструктора и предоставления необходимых аргументов.

Попробуйте следующее. Я выбрал 0 по умолчанию из-за отсутствия лучшего варианта

class spleen : foo { 
  public spleen() : base(0,0,0,0)
  {
  }
}

EDIT

Основываясь на вашей новой версии кода, самый простой способ вызвать конструктор - это буквально ничего не делать. Конструктор по умолчанию, созданный для селезенки, автоматически вызовет базовый пустой конструктор foo.

class spleen : foo { 
  public spleen() {}
}
19
ответ дан 6 December 2019 в 06:25
поделиться

Вы просто создаете его и вызываете базовый конструктор:

public spleen(int bar, int wee, int someotherint, int someyetanotherint)
    : base(bar,wee,someotherint,someyetanotherint)
{
    // Do any spleen specific stuff here
}
7
ответ дан 6 December 2019 в 06:25
поделиться

JaredPar прав, но что-то упустил, и у меня недостаточно репутации, чтобы отредактировать его.

class spleen : foo 
{
     public spleen() : base()
}

Если родительский класс принял параметр в конструкторе, то это будет

class foo
{

     public int bar, wee, someotherint, someyetanotherint;

     public foo(int bar, int wee, int someotherint, int someyetanotherint)
     {
           this.bar = bar;
           this.wee = wee;
           this.someotherint = someotherint;
           this.someyetanotherint = someyetanotherint;

     }
}

class spleen : foo 
{
     public spleen(int bar, 
                   int wee, 
                   int someotherint, 
                   int someyetanotherint) : base(bar, 
                                                 wee, 
                                                 someotherint,  
                                                 someyetanotherint)
}
5
ответ дан 6 December 2019 в 06:25
поделиться

Сделайте конструктор защищенным:

protected Operator(String s, int i, boolean flag){
    operator = s;
    precedenceLevel = i;
    associative = flag;
}

// вещи

class MulOperator extends Operator {
protected MulOperator(String s, int precedenceLevel, boolean flag) {
    super(s, precedenceLevel, flag);
}

и т.д.

РЕДАКТИРОВАТЬ: Предполагая, что у них одинаковый / похожий конструктор ...

-3
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: