Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 15:06   #1
Сырги
Пользователь
 
Регистрация: 19.09.2012
Сообщений: 10
По умолчанию Абстрактный класс

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
    abstract class Tovar
    {
        abstract public void Disp();

    }
    class Igrushka : Tovar
    {
        public string nazvanie;
        public int price;
        public string producer;
        public string material;
        public int age;

        public Igrushka(string naz, int p, string pr, string m, int a)
        {
            this.nazvanie = naz;
            this.price = p;
            this.producer = pr;
            this.material = m;
            this.age = a;
        }
        public override void Disp()
        {
            Console.WriteLine("Название: " + nazvanie + "\n" +
                              "Цена: " + price + "\n" +
                              "Производитель: " + producer + "\n" +
                              "Материал: " + material + "\n" +
                              "Воздраст, на который расчитанна: " + age + "\n");
        }
    }
    class Kniga : Tovar
    {
        public string nazvanie;
        public string avtor;
        public int price;
        public string izdatelistvo;
        public int age;

        public Kniga(string naz, string av, int p, string iz, int a)
        {
            this.nazvanie = naz;
            this.avtor = av;
            this.price = p;
            this.izdatelistvo = iz;
            age = a;
        }
        public override void Disp()
        {
            Console.WriteLine("Название:" + nazvanie + "\n" +
                "Автор:" + avtor + "\n" +
                "Цена:" + price + "\n" +
                "Издательство:" + izdatelistvo + "\n" +
                "Возраст, на который расчитанна:" + age + "\n");
        }
    }
    class Sport_inventar : Tovar
    {
        public string nazvanie;
        public int price;
        public string producer;
        int age;

        public Sport_inventar(string naz, int p, string pr, int a)
        {
            this.nazvanie = naz;
            this.price = p;
            this.producer = pr;
            this.age = a;

        }
        public override void Disp()
        {
            Console.WriteLine("Название:" + nazvanie + "\n" +
                              "Цена:" + price + "\n" +
                              "Производитель:" + producer + "\n" +
                              "Возраст,на который рассчитана:" + age + "\n");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Igrushka i1 = new Igrushka("Машинка", 150, "Китай", "Пласстик", 10);
            Kniga k1 = new Kniga("Буратино", "Андерсон", 50, "Полиграф Кишинев", 15);
            Sport_inventar s_i1 = new Sport_inventar("Кимано", 300, "Тайвань", 18);
            i1.Disp();
            k1.Disp();
            s_i1.Disp();
            Console.ReadLine();


        }
    }
}


помогите:организовать поиск товаров определенного типа.

Последний раз редактировалось Stilet; 22.11.2012 в 00:33.
Сырги вне форума Ответить с цитированием
Старый 22.11.2012, 00:28   #2
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

а в чем собственно проблема ?
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 22.11.2012, 00:37   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
поиск товаров определенного типа.
А тип у тебя где?
Цитата:
i1.Disp();
k1.Disp();
s_i1.Disp();
Это что? Где список товаров вводится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 01:13   #4
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

Чем отличается абстрактный класс от интерфейса ?) как же этот вопрос любят задавать на собеседованиях. То что вы сделали это интерфейс.

Я немножко изменил программу так думаю будет немножко понятнее.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleCS
{
    abstract class Tovar
    {
        abstract public void Disp();
        public int price;
    }
    class Igrushka : Tovar
    {
        public string nazvanie;

        public string producer;
        public string material;
        public int age;

        public Igrushka(string naz, int p, string pr, string m, int a)
        {
            this.nazvanie = naz;
            this.price = p;
            this.producer = pr;
            this.material = m;
            this.age = a;
        }
        public override void Disp()
        {
            Console.WriteLine("Название: " + nazvanie + "\n" +
                              "Цена: " + price + "\n" +
                              "Производитель: " + producer + "\n" +
                              "Материал: " + material + "\n" +
                              "Воздраст, на который расчитанна: " + age + "\n");
        }
    }
    class Kniga : Tovar
    {
        public string nazvanie;
        public string avtor;

        public string izdatelistvo;
        public int age;

        public Kniga(string naz, string av, int p, string iz, int a)
        {
            this.nazvanie = naz;
            this.avtor = av;
            this.price = p;
            this.izdatelistvo = iz;
            age = a;
        }
        public override void Disp()
        {
            Console.WriteLine("Название:" + nazvanie + "\n" +
                "Автор:" + avtor + "\n" +
                "Цена:" + price + "\n" +
                "Издательство:" + izdatelistvo + "\n" +
                "Возраст, на который расчитанна:" + age + "\n");
        }
    }
    class Sport_inventar : Tovar
    {
        public string nazvanie;

        public string producer;
        int age;

        public Sport_inventar(string naz, int p, string pr, int a)
        {
            this.nazvanie = naz;
            this.price = p;
            this.producer = pr;
            this.age = a;

        }
        public override void Disp()
        {
            Console.WriteLine("Название:" + nazvanie + "\n" +
                              "Цена:" + price + "\n" +
                              "Производитель:" + producer + "\n" +
                              "Возраст,на который рассчитана:" + age + "\n");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Igrushka i1 = new Igrushka("Машинка", 150, "Китай", "Пласстик", 10);
            Kniga k1 = new Kniga("Буратино", "Андерсон", 50, "Полиграф Кишинев", 15);
            Sport_inventar s_i1 = new Sport_inventar("Кимано", 300, "Тайвань", 18);
            i1.Disp();
            k1.Disp();
            s_i1.Disp();


            

            List<Tovar> list = new List<Tovar>();
            list.Add(i1);
            list.Add(k1);
            list.Add(s_i1);


            Console.WriteLine("Товары на которые цена больше 100 тугриков");

            var items = list.Where(x => x.price > 100);

            foreach (var item in items)
            {
                Console.WriteLine(string.Format("Цена - {0}", item.price));
            }

            Console.ReadLine();
        }
    }

        
       
}
rUs_LAN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
абстрактный класс meta13 C# (си шарп) 2 22.03.2012 19:14
c# абстрактный класс tanek Помощь студентам 1 22.02.2012 11:23
абстрактный класс С++ zhenya.ya Помощь студентам 0 05.11.2010 20:23