Принципы разработки абстрактных классов в C#
Автор: alkorobka • Июнь 3, 2020 • Лабораторная работа • 2,830 Слов (12 Страниц) • 513 Просмотры
1 Цель работы:
Изучить основные принципы разработки абстрактных классов в C#.
Задание 1
Разработать базовый абстрактный класс Товар (Product), реализующий общую сущность в интернет-магазине. Класс должен содержать конструктор, абстрактный метод вывода информации о товаре, а также общие свойства для всех товаров:
- Идентификатор (id);
- Наименование;
- Цена.
Разработать 2 класса-наследника, реализующие конкретные типы товаров (по своему усмотрению - одежда, обувь, электроника и т.д.) и содержащие дополнительные свойства (размер, цвет, диагональ экрана и пр.). Переопределить конструкторы и методы вывода информации о товаре.
Программа:
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;
namespace LR4O
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.AddRange(Product.categor);
}
int k = 0;
int price = 0;
private void RichTextBox2_TextChanged(object sender, EventArgs e)
{
}
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 0)
{
comboBox2.Items.Clear();
comboBox2.Items.AddRange(Product.phone);
}
if (comboBox1.SelectedIndex == 1)
{
comboBox2.Items.Clear();
comboBox2.Items.AddRange(Product.clothes);
}
}
abstract class Product //базовый абстрактный класс
{
public static int id; //общие сведения о товарах
public int ID
{
get { return id; }
set { id = value; }
}
public string Name; //общие сведения о товарах
public int Price; //общие сведения о товарах
public Product(string name, int price) //конструктор
{
this.Name = name;
this.Price = price;
}
public static string[] categor = new string[] { "Телефоны", "Одежда" };
public static string[] phone = new string[] { "Xiaomi Mi 10", "Iphone X", "Samsung Galaxy S 10", "Huawei Mate 30 Pro" };
public static string[] clothes = new string[] { "Рубашка", "Skinny Jeans", "Худи", "Свитшот", "Шорты" };
public abstract void Show(); //абстрактный метод
}
class Phone : Product //класс наследник
{
public string CPU;
public string diagonal;
public Phone(string name, int price, string Diagonal, string cpu) : base(name, price)
{
this.diagonal = Diagonal;
this.CPU = cpu;
}
public static string[] cpu = new string[] { " Snapdragon 865", "Apple A11 Bionic", " Exynos 9820", "Kirin 990" };
public static string[] Diagonal = new string[] { "6.67", "5.8", "6.1", "6.53" };
public static int[] Pirce = new int[] { 41990, 70000, 41900, 69990 };
public override void Show()
{
Console.WriteLine($"Название: {Name}\nЦена: {Price}\nДиагональ: {diagonal}\nПроцессор:
...