![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Листинг ⇐ ПредыдущаяСтр 5 из 5
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Collections;
namespace Библеотеченые_интерфейсы { public partial class Form1: Form { public Form1() { InitializeComponent(); } class MyInt: IEnumerable, IEnumerator { int[] ints = {150}; int index = -1;
// Реализуем интерейс IEnumerable public IEnumerator GetEnumerator() { return this; }
// Реализуем интерфейс IEnumerator public bool MoveNext() { if (index == ints.Length - 1) { Reset(); return false; }
index++; return true; }
public void Reset() { index = -1; }
public object Current { get { return ints[index]; } } } private void button1_Click(object sender, EventArgs e) { MyInt mi = new MyInt(); richTextBox1.Text = " Общее кол-во авто в магазине "; foreach (int i in mi) richTextBox1.Text += i.ToString(); richTextBox1.Text += " \n"; }
private void Form1_Load(object sender, EventArgs e) {
}
class AutoShop { public string CarName { set; get; } public int MaxSpeed { get; set; } public double Cost { get; set; } public byte Discount { get; set; } public int ID { get; set; }
public AutoShop() { } public AutoShop(string CarName, int MaxSpeed, double Cost, byte Discount, int ID) { this.CarName = CarName; this.MaxSpeed = MaxSpeed; this.Cost = Cost; this.Discount = Discount; this.ID = ID; }
public override string ToString() { return String.Format(" {4}\tМарка: {0}\tМакс. скорость: {1}\tЦена: {2: C}\tСкидка: {3}%", this.CarName, this.MaxSpeed, this.Cost, this.Discount, this.ID); } }
class CompInv< T>: IComparer< T> where T: AutoShop { // Реализуем интерфейс IComparer< T> public int Compare(T x, T y) { if (x.Cost < y.Cost) return -1; if (x.Cost > y.Cost) return 1; else return 0; } }
private void button2_Click(object sender, EventArgs e) { CompInv< AutoShop> cp = new CompInv< AutoShop> (); List< AutoShop> dic = new List< AutoShop> ();
// Создадим множество автомобилей AutoShop[] autoArr = new AutoShop[5]; dic.Add(new AutoShop(" Toyota Corolla", 180, 300000, 5, 1)); dic.Add(new AutoShop(" VAZ 2114i ", 160, 220000, 0, 2)); dic.Add(new AutoShop(" Daewoo Nexia ", 140, 260000, 5, 3)); dic.Add(new AutoShop(" Honda ", 220, 400000, 7, 4)); dic.Add(new AutoShop(" Audi R8 Best ", 360, 420000, 3, 5));
//Console.WriteLine(" Исходный каталог автомобилей: \n"); //Console.WindowWidth = 100; foreach (AutoShop a in dic) { richTextBox2.Text += a.ToString(); richTextBox2.Text += " \n"; }
//Console.WriteLine(" \nТеперь автомобили отсортированны по стоимости: \n"); // //foreach (AutoShop a in dic) // Console.WriteLine(a); dic.Sort(cp); foreach (AutoShop a in dic) { richTextBox3.Text += a.ToString(); richTextBox3.Text += " \n"; } }
public class Employee: ICloneable { public string Name; public string Title; public int Kol;
public Employee(string name, string title, int kol) { Name = name; Title = title; Kol = kol; }
public object Clone() { return MemberwiseClone(); }
public override string ToString() { return string.Format(" {0} ({1}) - Кол-во {2}", Name, Title, Kol); } }
public class EmployeeList: ICloneable { public List< Employee> EmployeeListMembers = new List< Employee> ();
public EmployeeList() { }
private EmployeeList(List< Employee> members) { foreach (Employee e in members) { EmployeeListMembers.Add((Employee)e.Clone()); } }
public void AddMember(Employee member) { EmployeeListMembers.Add(member); }
public override string ToString() { StringBuilder str = new StringBuilder();
foreach (Employee e in EmployeeListMembers) { str.AppendFormat(" {0}\r\n", e); }
return str.ToString(); }
public object Clone() { return new EmployeeList(this.EmployeeListMembers); } }
private void button3_Click(object sender, EventArgs e) { EmployeeList team = new EmployeeList(); team.AddMember(new Employee(" BMW", " AA", 4)); team.AddMember(new Employee(" AUDI", " BB", 8)); team.AddMember(new Employee(" VAZ", " CC", 8));
EmployeeList clone = (EmployeeList)team.Clone();
//Console.WriteLine(" Оригинал"); //Console.WriteLine(team);
richTextBox4.Text += " оригинал" + " \n" + team + " клон" + " \n" + clone;
//onsole.WriteLine(" Клон: "); //nsole.WriteLine(clone);
//Console.WriteLine(" Сделаем изменения в оригинальном списке"); team.EmployeeListMembers[1].Name = textBox1.Text; team.EmployeeListMembers[0].Title = textBox2.Text; team.EmployeeListMembers[0].Kol = 100;
//Console.WriteLine(" Оригинальный список: "); // Console.WriteLine(team);
// Console.WriteLine(" Клонированный список: "); // Console.WriteLine(clone); // Console.ReadLine(); richTextBox5.Text += " оригинал" + " \n" + team + " клон" + " \n" + clone;
}
private void label5_Click(object sender, EventArgs e) {
}
private void richTextBox1_TextChanged(object sender, EventArgs e) {
} } }
Заключение В ходе разработки курсового проекта на тему «Разработка приложения с использованием стандартных интерфейсов» было разработано приложение «Автомагазин». Разработанное приложение имеет как плюсы, так и минусы. К плюсам можно отнести приятный и легкодоступный интерфейс приложения, функциональность приложения, наглядная реализация стандартных интерфейсов. К недостаткам можно отнести не реализацию всех стандартных интерфейсов, так как их огромное количество. Библиотечные интерфейсы здорово упрощают программирование и помогают решать серьезные задачи, будь то клонирование объектов или сортировка их. В настоящее время Windows Form имеют очень широкое значение в большинстве программ. Windows Forms облегчает работу простого пользователя с программой. Это делает работу с программой более комфортной и простой.
|