more_itertools
имеет функцию chunked
:
import more_itertools as mit
list(mit.chunked(range(9), 5))
# [[0, 1, 2, 3, 4], [5, 6, 7, 8]]
Вы ищете базовое ключевое слово. Вы можете использовать его для вызова базового конструктора и предоставления необходимых аргументов.
Попробуйте следующее. Я выбрал 0 по умолчанию из-за отсутствия лучшего варианта
class spleen : foo {
public spleen() : base(0,0,0,0)
{
}
}
EDIT
Основываясь на вашей новой версии кода, самый простой способ вызвать конструктор - это буквально ничего не делать. Конструктор по умолчанию, созданный для селезенки, автоматически вызовет базовый пустой конструктор foo.
class spleen : foo {
public spleen() {}
}
Вы просто создаете его и вызываете базовый конструктор:
public spleen(int bar, int wee, int someotherint, int someyetanotherint)
: base(bar,wee,someotherint,someyetanotherint)
{
// Do any spleen specific stuff here
}
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)
}
Сделайте конструктор защищенным:
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);
}
и т.д.
РЕДАКТИРОВАТЬ: Предполагая, что у них одинаковый / похожий конструктор ...