Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPiYaP_otchyot_VS14.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
136.03 Кб
Скачать
    1. Сравнение обычного массива и семейства

Условие задачи

  1. Добавить производный класс к абстрактному классу Animal – класс Собака. Внутри класса предусмотреть метод Лает.

  2. Добавить экземпляр собаки

а) в массив

б) в семейство

продемонстрировать вызов всех методов всех классов

  1. Осуществить работу с семейством:

а) добавить в семейство 2 собаки и 1 курицу

б) удалить из семейства первую встретившуюся собаку

в) добавить в это же семейство вновь созданный массив из 3 коров

4. Продемонстрировать через перебор элементов всех животных в семействе

Листинг программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections;

namespace Laba_8_1

{

public abstract class Animal {

protected string name;

public string Name

{

get

{ return name; }

set

{ name = value; }

}

public Animal()

{ name = "Животное без имени"; }

public Animal(string newName)

{ name = newName; }

public void Feed()

{ Console.WriteLine("{0} кушает ", name); }

}

public class Собака : Animal

{

public void Woof()

{ Console.WriteLine("{0} лает", name); }

public Собака(string newName)

: base(newName)

{ }

}

public class Курица : Animal

{

public void Cuda()

{

Console.Write("{0} кудахчет", name);

}

public Курица(string newName)

: base(newName)

{ }

}

public class Корова : Animal

{

public void Mu(){

Console.WriteLine("{0} мычит",name);

}

public Корова(string newName) : base(newName) { }

}

class Program

{

static void Main(string[] args)

{

Animal[] DogArray = new Animal[1];

DogArray[0] = new Собака("Bono");

ArrayList DogArrayList = new ArrayList();

DogArrayList.AddRange(DogArray);

((Собака)DogArray[0]).Woof();

((Собака)DogArrayList[0]).Woof();

DogArrayList.Add(new Собака("Garry"));

DogArrayList.Add(new Собака("Parry"));

DogArrayList.Add(new Курица("Nessy"));

foreach (Animal a in DogArrayList){

if (Convert.ToString(a.GetType().Name) == "Собака") { DogArrayList.RemoveAt(DogArrayList.IndexOf(a)); break; }

}

foreach (Animal a in DogArrayList) {

a.Feed();

}

Animal[] CowArray = new Animal[3];

CowArray[0] = new Корова("KAB");

CowArray[1] = new Корова("An");

CowArray[2] = new Корова("Al");

DogArrayList.AddRange(CowArray);

Console.WriteLine("В семействе присутствуют:");

foreach (Animal a in DogArrayList)

{

Console.WriteLine(a.Name+"-"+a.GetType().Name);

}

Console.ReadKey();

}

}

}

Тестирование программы

Рисунок 8 – Тестирование программы