Для выключения тех файлов просто добавьте эти строки к .vimrc (конфигурационный файл энергии на основанной на Unix ОС):
set nobackup #no backup files
set nowritebackup #only in case you don't want a backup file while editing
set noswapfile #no swap files
Вы не можете.
Однако вы можете установить один конструктор для класса FatherClass следующим образом:
protected FatherClass(string val1, string val2) {}
Что заставляет подклассы вызвать этот конструктор - это будет ' Поощряйте их предоставить конструктор string val1, string val2
, но не обязывают его.
Я думаю, вам следует рассмотреть вместо этого шаблон абстрактной фабрики . Это будет выглядеть так:
interface IFooFactory {
FatherClass Create(string val1, string val2);
}
class ChildClassFactory : IFooFactory
{
public FatherClass Create(string val1, string val2) {
return new ChildClass(val1, val2);
}
}
Везде, где вам нужно создать экземпляр подкласса FatherClass, вы используете IFooFactory, а не конструируете напрямую. Это позволяет указать подпись (строка val1, строка val2)
для их создания.
Конструктор нельзя установить как абстрактный, но можно сделать что-то вроде этого:
public abstract class Test
{
public Test(){}
public Test(int id)
{
myFunc(id);
}
public abstract void myFunc(int id);
}
Вы не наследуете конструкторы. Вам просто нужно будет реализовать его самостоятельно в каждом дочернем классе.
Проблема в том, что по умолчанию не абстрактный / статический класс всегда будет иметь пустой общедоступный конструктор по умолчанию, если вы не переопределите его с помощью private Constructor () {.. ..}. Я не думаю, что вы можете заставить конструктор с двумя строковыми параметрами присутствовать в дочернем классе.