Наследование: правильно ли инициализирован экземпляр класса - C#
Формулировка задачи:
Вот:
Изучаю с#, появилось несколько вопросов:
(см. комментарии и соотв. участки кода)
#1 правильно ли инициализирован ЭКЗЕМПЛЯР класса? Имеют ли переданные конструктором(конструктору?) аргументы
"статус" .this?
#2 Есть ли разница между этими двумя строками? Какая?
#3 обязательно ли писать :base, или при наследовании без него не обойтись? Я читал, что да, однако
компилятор ошибок не выдает!
Заранее спасибо.
/*********************/
InitialiseComponent()
clbase[] bclass_m = new clbase[1];
bclass_m[0] = new Barney("", 500.00M, "r",new string[] {"","",""}); // #1
/********************/
class bclass
{
private /*virtual*/ string arg0;
private /*virtual*/ decimal arg1;
private /*virtual*/ string arg2;
private /*virtual*/ string[] arg3;
public clbase(string arg0, decimal arg1, string arg2, string[] arg3)
{
this.arg0 = arg0;
this.arg1 = arg1;
this.arg2 = arg2;
this.arg3 = arg3;
}
public string retArg0 ()
{
return this.arg0; // #2
return arg0; //
}
public string RetArg0()
{
string res = "\n";
res += this.arg0;
}
}
class sclass : bclass
{
public sclass(string arg0, decimal arg1, string arg2, string[] arg3); // #3
/*: base(myName, myCash, myJob, myFriends)*/ /*{
}*/
}Решение задачи: «Наследование: правильно ли инициализирован экземпляр класса»
textual
Листинг программы
public clbase(string Arg0, decimal Arg1, string Arg2, string[] Arg3)
{
arg0 = Arg0;
arg1 = Arg1;
arg2 = Arg2;
arg3 = Arg3;//Хотя по правила глобальные с большой буквы,а локальные с маленькой
}