Пример использования композиции и коллекции класса

Из всего разнообразия классов коллекций рассмотрим самую простую коллекцию классов – стек.

Задача 12.1 Пусть элементом стека является объект класса КНИГА. Предполагается, что книги складываются «стопкой» и брать и добавлять книги можно только сверху.

Для простоты будем считать, что все данные класса открыты и ограничены только автором книги, ее названием и ценой. Из методов класса используем только конструктор с заданием параметров.

Для организации коллекции в виде списочной структуры используем стандартную структуру Stack.

Исходный код программы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

public class Kniga

{

public string Naz;

public string Avtor;

public int Ctoimoct;

public Kniga(string sa, string sb, int sc)

{

Avtor = sa; Naz = sb; Ctoimoct = sc;

}

};

public Stack<Kniga> vstek = new Stack<Kniga>();

public string ss = "";

private void button1_Click(object sender, EventArgs e)

{

string a, b;

a = textBox1.Text;

b = textBox2.Text;

c = Convert.ToInt32(textBox3.Text);

Kniga Tom = new Kniga(a, b, c);

vstek.Push(Tom);

}

private void button2_Click(object sender, EventArgs e)

{

Kniga Tom = new Kniga("", "", 0);

foreach (Kniga T in vstek)

{

ss = T.Avtor + " " + T.Naz + " " +

Convert.ToString(T.Ctoimoct) + " \n";

textBox4.AppendText(ss);

}

}

}

}

Работа программы изображена на рисунке 12.1

Рисунок 12.1 – Работа программы

Необходимо отметить, что в языке C# имеется несколько классов, реализующих коллекцию объектов, например, массива, стеки и очереди и т.д. Считается, что только массивы являются конструкцией языка C#, а остальные коллекции – это просто классы платформы.NET (точнее ее библиотеки Framework). Поэтому, имеет смысл, ознакомится с составом коллекций этой библиотеки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: