Добрые люди подскажите пожалуйста проблема в том что не могу получить переменную из одного класса , то есть наследую класс но не могу получить переменную Code: public class porter { private string land; private int lvl; private string race; public int attack_porter; public int health_porter; public string tmp; public int protection_porter; private int protection_land; public porter(string _race, int _lvl, string _land) { race = _race; lvl = _lvl; land = _land; } //начальные параметры носильщика, то есть первый уровень public void porter_lvl() { if (race == "Рыцари") { if (land == "Священная земля") { protection_land = 25; } else { protection_land = 0; } switch (lvl) { case 0: //1lvl { attack_porter = 12; health_porter = 8; protection_porter = 0 + protection_land; tmp = "Атака: " + attack_porter + "\n" + "Защита: " + protection_porter + "\n" + "Здоровье: " + health_porter; break; } } }} } public class battle:porter { public battle() { ataka = attack_porter; } public int ataka; public string tmp; public void bt() { tmp = "g" + ataka; } }
у тебя не определем базовый конструктор без параметров, передавай ему данные через battle() , либо опиши конструктор по умолчанию
чтобы доступ к переменной можно было получить из класса-наследника она должна быть объявлена либо как protected либо как public
так она и так public вот как конструктор сделать чтобы было значение то которое полученно было в классе у кого наследуется
Вот примерчик я сделал PHP: private void button1_Click(object sender, EventArgs e) { ad dd = new ad(); this.Text = dd.i.ToString(); } } public class f { public int i=10; } public class ad:f { int test; public ad() { test = i; } public int retInt () { return test; } } фишка заключаеться ты походу не вызываешь метод public void porter_lvl() или и значения переменной стоит по дефолту 0.
Непонятно: что ты хочешь сделать? Если присвоить какое-то значение по умолчанию, то конструктор по умолчанию, и в нем присваивай твоей переменной значение если просто переменную сделать, доступную как из родителя так и из потомка, то либо паблик (хуже) либо протектед (лучше) переменная
класс battle подразумевает под собой в дальнейшем расчет боя воиск, по этому я хочу собрать в нем атаку,защиту и жизнь(значения приемрно 5 рода войск) и по алгоритму просчитать, но вот не могу дордуматься как получить все мне нужные переменные в этот класс
тогда правильно писали: кури свойства, но в таком случае переменную объявлять как паблик нет необходимости