Оценить код с точки зрения принципов ООП и корректность в целом - C#
Формулировка задачи:
Извиняюсь заранее, если не в ту тему не с той просьбой. Прошу посмотреть код, оценить его с точки зрения принципов ооп да и правильность в целом. Имею желание перестать говнокодить, вот первая попытка.
Описание: имеем абстрактный класс Animal, с 3 защищенными полями и 2 виртуальными методами. От этого класса наследуются 3 класса потомка, в которых описан конструктор и переопределен метод ShowInfo(). В главном методе Main() создаем экземпляры классов с параметрами и вызываем методы базового и производных классов.
Animal.cs
Main.cs
Cat.cs(аналогично созданы классы dog и fox)
Листинг программы
- using System;
- abstract class Animal
- {
- protected string _tip;
- protected string _name;
- protected int _ves;
- public virtual void ShowInfo()
- {
- Console.WriteLine("Меня зовут {0}, я {1} и мой вес {2} кг.", _name, _tip, _ves);
- }
- public virtual void Sound(){}
- }
Листинг программы
- using System;
- class Program
- {
- static void Main()
- {
- Cat cat = new Cat("Вася", 11);
- Dog dog1 = new Dog("Бобик", 16);
- Dog dog2 = new Dog("Бобище", 27);
- Fox fox = new Fox("Патрикеевна", 16);
- cat.ShowInfo();
- cat.Sound();
- dog1.ShowInfo();
- dog1.Sound();
- dog2.ShowInfo();
- dog2.Sound();
- fox.ShowInfo();
- fox.Sound();
- Console.ReadKey();
- }
- }
Листинг программы
- using System;
- class Cat:Animal
- {
- public Cat(string name, int ves)
- {
- _tip = "кот";
- _name = Name;
- _ves = Ves;
- }
- public override void Sound()
- {
- Console.WriteLine("Я говорю мяу");
- }
- }
Решение задачи: «Оценить код с точки зрения принципов ООП и корректность в целом»
textual
Листинг программы
- var animals = new Animal[]
- {
- new Cat("Вася", 11),
- new Dog("Бобик", 16),
- new Dog("Бобище", 27),
- new Fox("Патрикеевна", 16)
- };
- foreach (var animal in animals)
- {
- animal.ShowInfo();
- animal.Sound();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д