IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
noName
Neregistrovaný
Avatar
noName:26.9.2013 18:36

Zdravím. Tak jsem zase zpět a o něco chytřejší (pečlivě studuji tutoriály). Narazil jsem na problém, který si nedokáži sám zodpovědět. Jde o to, že když mám dvě třídy a a chci dědit z bázové třídy metodu Metoda() do třídy Form1, tak mi to napíše, že není možné použít protected. A já myslel, že protected je viditelný ve třídě, kde byl definován + ve všech odvozených třídách

namespace WindowsFormsApplication2
{
    public partial class Class1 : Form1
    {
        protected void Metoda()
        {
            MessageBox.Show("Ahoj");
        }
    }
}

Přikládám project:
http://uloz.to/…ication2-rar

Předem děkuji.

 
Odpovědět
26.9.2013 18:36
Avatar
Odpovídá na
Michael Olšavský:26.9.2013 18:56

To, že mají metody stejného předka neznamená, že si sdílí protected proměnné. Protected se dá použít pouze třídami odvozenými od rodiče (u tebe Class1). Pokud by jsi tedy ve Form1 dědil od Class1 a ne od Form, bude to fungovat, ale nesmíš vytvářet novou proměnnou třídy. Ta metoda je tam jakoby byla private, jen dostupná z obou tříd.

Tzn. můžeš jí volat jen ve třídě, kde právě jsi a která tuto metodu buď obsahuje nebo jí dědí.

 
Nahoru Odpovědět
26.9.2013 18:56
Avatar
Odpovídá na
Luboš Běhounek Satik:26.9.2013 18:57

protected je viditelný v třídě, do které patří a v třídách, které od ní dědí.

Form1 od tvé třídy nedědí - to dědění je obrácené - tvoje třída dědí od Form1, takže metodu ani vidět nemá. ;)

Nahoru Odpovědět
26.9.2013 18:57
https://www.facebook.com/peasantsandcastles/
Avatar
noName
Neregistrovaný
Avatar
noName:27.9.2013 7:07

Hoši, díky za radu :D Nedošlo mi to :(

 
Nahoru Odpovědět
27.9.2013 7:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.