Klasy abstrakcyjne, metody abstrakcyjne

0

Witam!
Mam program o następującej treści:

namespace Program10._1
{
    abstract class Statek
    {
        protected static int licznik = 0;
        protected int numerStatku;
        protected string typ;
        protected double predkoscMax;
 
        public abstract int oblicz_zanurzenie();
        public void info_ogolne()
        {
            Console.WriteLine("Numer Statku Typ Statku  Prędkość Maksymalna");
            Console.Write("     {0:D3}", numerStatku);
            Console.Write("     " + typ + "    ");
            Console.WriteLine("   {0:F2}", predkoscMax);
        }
    }
    class Jacht : Statek
    {
        int dlugosc;
        double powZagli;
 
        Jacht(string t, double pM, int d, double pZ)
        {
            Console.WriteLine("Konstruktor klasy Jacht o 4 argumentach");
            numerStatku = licznik++;
            typ = t;
            predkoscMax = pM;
            dlugosc = d;
            powZagli = pZ;
        }
        public override int oblicz_zanurzenie()
        {
            int a;
            a = (int)(predkoscMax * 100 / (3 * dlugosc));
            return a;
        }
        public void info_jachtu()
        {
            Console.WriteLine("Długość jachtu: {0:F2} metrów", dlugosc);
            Console.WriteLine("Zanurzenie: {0} centymetrów", oblicz_zanurzenie());
        }
        public static void Main()
        {
            Jacht jolka = new Jacht("Rybka", 6.7, 4, 10.5);
            jolka.info_ogolne();
            jolka.info_jachtu();
 
            Console.ReadLine();
        }
    }
}

Potrzebuję go troszkę zmodyfikować, niestety przerasta to moje możliwości i nie potrafię się do tego zabrać od żadnej strony.

Co muszę wykonać:

  1. Dodać klasę ostateczną o nazwie JachtPełnomorski dziedziczącą z klasy Jacht, zawierającą własne pola i metody oraz metodę oblicz_zanurzenie(). Wypisać wszystkie informacje utworzonym obiekcie tej klasy.
  2. Zdefiniować konstruktory przeciążone w każdej z klas zawierające m.in. instrukcję przypisującą każdemu obiektowi kolejny numer. W funkcji Main wyświetlić liczbę utworzonych w programie obiektów.

Ktoś jest w stanie poratować mnie gotowym kodem, bądź wyjaśnić w jaki sposób mam to zrobić?
Pozdrawiam! :)

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