Zadania PrOb 19H/02

Zaprojektować, zaimplementować i zademonstrować w praktyce użycie klas realizujących poniższe wytyczne:

  1. Zaprojektować składniki prostych klas: "Osoba", "Pojazd", "Dokument". Do każdej zaimplementować po 3 różne konstruktory. Użyć this i base.
  2. Zaprojektować spokrewnione klasy: Zaprojektować metody, które w kolejnych pokoleniach klas mogłyby być ukrywane przez ich nowe implementacje.
  3. Program własnego pomysłu demonstrujący różnice w efektach pokrywania w klasach potomnych metod zwykłych i wirtualnych poniższej klasy.
    public class Wykonawca
    {		
        public void PracaA(string FileName) 
        {
          StringBuilder sb = new StringBuilder();
          string[] lines = File.ReadAllLines(FileName);
          for (int i = 0; i < lines.Length; i++)
          {
            sb.Clear();
            for (int j = 0; j < lines[i].Length; j++)
            {
              sb.Append(lines[i][j]);
              sb.Append('_');
            }
            lines[i] = sb.ToString();
          }
          string FileName2 = FileName.Replace(".", "2.");
          File.WriteAllLines(FileName2, lines);
        }
    	
        public virtual void PracaB()
        {
          StringBuilder sb = new StringBuilder();
          string[] lines = File.ReadAllLines(FileName);
          foreach (string s in lines)
          {
              sb.AppendLine(s);
              sb.AppendLine('---------------------------------------------');
          }
          string FileName2 = FileName.Replace(".", "2.");
          File.WriteAllText(FileName2, sb.ToString());
        }
    }

Uwaga! Wszystkie zadania mają być zrealizowane w przykładowych, działających aplikacjach.