Diskuze: C#- Problem s argumentama
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Už jsem si s tím nějak poradil, ale teď bych potřeboval něco jinýho.
Jak ve třídě Creature, tak ve třídě Mage, která dědí z Creature,
přepisuju metodu ToString(), abych mohl jejich statistiky uložit do Labelu.
Nejde to udělat nějak, abych mohl pracovat s proměnými z Creature v Magovi,
aniž bych musel měnit jejich modifikátory?
Takhle to vypadá v třídě Creature
private string name;
/// <summary>
/// Health of creature
/// </summary>
private int health;
/// <summary>
/// Maximum health of creature
/// </summary>
private int maxHealth;
/// <summary>
/// Attack of creature
/// </summary>
private int attack;
/// <summary>
/// Defense of creature
/// </summary>
private int defense;
/// <summary>
/// Speed of creature
/// </summary>
private int speed;
public override string ToString()
{
return String.Format("Name: {0}\nHealth: {1}\nAttack: {2}\nDefense: {3}\nSpeed: {4}", name, health, attack, defense, speed);
}
A takhle v třídě Mage
/// <summary>
/// Mana of mage
/// </summary>
private int mana;
/// <summary>
/// Maximum of mana of mage
/// </summary>
private int maxMana;
/// <summary>
/// Power of magic attack
/// </summary>
private int magicAttack;
Jsou to jen kusy kódu, ne celá třída.
Díky všem za odpovědi.
Musíš použít protected modifikátor - k tomu ty modifikátory jsou.
Děkuju ti. Jaký je vlastně rozdíl mezi private a protected, kromě toho, že děděná třída ma k protected přístup?
Přesně ten, že děděné třídy mají k protected přístup. Žádný jiný, z vnějšku třídy se k proměnné nedostaneš.
Zobrazeno 5 zpráv z 5.