Dziedziczenie klas - dlaczego nie mogę użyć metod w stylu Math3.Poww?

0

Witam, bawie się w C# i mam pewien problem. Otóż jak mi wiadomo, gdy dziedziczeniu podlegają klasy, klasa pochodna dziedziczy po bazowej pola,metody,własciwości (inne niz private). W swoim kodzie stworzyłem klase Math2(kopia kilku metod Math napisana przeze mnie, dla ćwiczeń) oraz klasę Math3. Math3 jest klasą pochodną. Moje pytanie - dlaczego w klasie Math3 nie moge użyć metod w sposób np Math3.Poww? Jak je użyć?

klasa Math 2 - http://pastebin.com/qan8kWgV
klasa Math 3 - http://pastebin.com/yN7Xs90a

0
 namespace ćwiczenia_z_ksiązką
{
    class Math3 : Math2
    {
        Console.WriteLine("wartość sinusa " + Math3.Sinus(90, 2));
    }
}

Co twoim zdaniem robi ten kod? Wołasz Console.WriteLine w ciele klasy, jak juz to powinno byc w jakiejs metodzie albo konstruktorze.

0

Korzystanie z metod statycznych w klasach pochodnych to raczej średni pomysł. Niepotrzebnie utrwalasz złe nawyki.

0
TomRiddle napisał(a):

Korzystanie z metod statycznych w klasach pochodnych to raczej średni pomysł. Niepotrzebnie utrwalasz złe nawyki.

Wiem, ze to źle - chciałem tylko wypróbować czy faktycznie klasa bedzie dziedziczyć po bazowej. Ta klasa pochodna jest do usuniecia, to tylko mój test.

@Edit
Faktycznie wpisywałem Console Readline w ciele klasy, mój błąd. Wszystko poprawiłem i śmiga, dzięki za odzew.

0

Ale jeżeli już koniecznie chcesz pogłębiać wiedzę to ten kod jest w porzadku

public class Test
{
	public static void Main() {
		Dziecko.PrintHello();
		Rodzic.PrintHello();
	}
}

class Dziecko : Rodzic {
}

class Rodzic {
	public static void PrintHello() {
		Console.WriteLine("Hello");
	}
}
0

W moim kodzie, jeżeli Math3 dziedziczyło po bazowej Math2, to w Math2 metody nie mogą być static tylko..?

1 użytkowników online, w tym zalogowanych: 0, gości: 1