Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » параметризованные классы с#

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте !   Подскажите  пожалуйста , где   можно   найти    подробную   теорию   ПАРАМЕТРИЗОВАННЫЕ  КЛАССЫ  и   примеры  к   теории  (  В. В. Шишкин    “  Лабораторный практикум по основам объектно-ориентированного   программирования  “  ).   Смотрел   в  Интернете   и   в   книгах    практически  ничего ,  а  в   методичке   “  Лабораторный практикум по основам объектно-ориентированного   программирования  “    очень   мало .    
     
                                                      Язык     с#  
   

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 14:39 25-09-2015 | Исправлено: Vladimirll, 01:12 27-10-2015
AquaTour



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ищи в гугле "обобщения C#" или "generic C#"

Всего записей: 22 | Зарегистр. 05-03-2006 | Отправлено: 00:50 27-09-2015
ViZ3R

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ссылка
Там общая теория.

Всего записей: 1 | Зарегистр. 19-10-2014 | Отправлено: 10:44 27-09-2015
AquaTour



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
только не самым простым языком. Математику не начинают учить с матанализа.

Всего записей: 22 | Зарегистр. 05-03-2006 | Отправлено: 02:03 02-10-2015
Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AquaTourПодскажите  пожалуйста  ,   в    Интернете   есть   какие-нибудь  поисковые  системы  ,   связанные   с    эффективным   поиском   информации  ?  

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 00:29 03-10-2015
Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AquaTour
 
 
     Подскажите   как   результат  вывести   на  консоль   ?  
 
     
   Свойство типа Paper ( только с методом get), которое возвращает ссылку на публикацию с  самой  поздней  датой  выхода; если список публикаций пустой   свойство   возвращает значение null.
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Конструктор_1
{
    class Program
    {
        static void Main(string[] args)
        {
 
 
            Console.WriteLine();
            ResearchTeam team = new ResearchTeam();
            ResearchTeam Ssilka = new ResearchTeam();
 
            Paper Ssilka1 = new Paper();
 
            Paper[] papers = new Paper[2];
            papers[0] = new Paper("pub_4", new DateTime(1887, 6, 1));
            papers[1] = new Paper("pub_5", new DateTime(1889, 8, 21));
            team.AddPapers(papers);
 
            foreach (Paper paper in team.list)
            {
                Console.WriteLine(paper.Publication);
                Console.WriteLine(paper.Time.ToShortDateString());
            }
 
 
            Console.WriteLine(team.ToString());
            Console.WriteLine(Ssilka.ToString());                                                           //  ?  1
 
 
            Console.WriteLine(Ssilka1.ToString());
 
 
 
            Console.ReadKey();
        }
    }
 
 
 
    class Paper
    {
 
 
        public string Publication { get; private set; }   // свойство типа string , в котором хранится название публикации
        public string Author { get; private set; }   // свойство типа Person для автора публикации
        public DateTime PublishDate { get; private set; }  //DateTime Data { get; set; }   // свойство типа DateTime c датой публикации
 
 
        //конструктор c параметрами типа string, Person, DateTime для инициализации всех свойств класса;
        public Paper(string pub, string author, DateTime date)
        {
            Publication = pub;
            Author = author;
            PublishDate = date;
        }
 
        // конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию
        public Paper() : this("WarandWorld", "Lolstoy", new DateTime(1889, 7, 1)) { }
 
        public override string ToString()
         {
             return "\nNameP=" + Publication.ToString() + "\nAuthor=" + Author.ToString() + "\nData=" + PublishDate.ToShortDateString();
             //  "\nlist_publication=" + string.Join(",", Papers.Select(p => p.Publication));
         }
 
        public Paper(string publication, DateTime time)
        {
            Publication = publication;
            Time = time;
        }
        public string publication;
 
        public DateTime Time;
    }
 
     
 
    //Определить тип TimeFrame  перечисление(enum) со значениями Year, TwoYears, Long.
    enum TimeFrame { Year, TwoYears, Long }
 
 
    class ResearchTeam  : List<Paper>
    {
 
 
       
        // закрытое поле типа Paper*+, в котором хранится список публикаций
        private List<Paper> Papers = new List<Paper>() { new Paper("pub_1", new DateTime(1881, 6, 2)), new Paper("pub_2", new DateTime(1883, 6, 2)), new Paper("pub_3", new DateTime(1885, 6, 2)) };  //,
 
 
 
        //  В классе ResearchTeam определить конструкторы  :
        //  Конструктор c параметрами типа string, string, int, TimeFrame для инициализации соответствующих полей класса
 
 
        public ResearchTeam(string theme, string org, string regNum)
        {
            _theme = theme;
            _organization = org;
            _registryNumber = regNum;
 
        }
 
 
        //Конструктор без параметров, инициализирующий поля класса значениями по умолчанию          
        public ResearchTeam() : this("Ecology", "Colos", "1924714927") { }
 
 
        //В классе ResearchTeam определить свойства c методами get и set
 
        //Cвойство типа string для доступа к полю с названием темы исследова-ний
        private string _theme;
        /// <summary>
        /// Тема исследований
        /// </summary>
        public string Theme
        {
            get { return _theme; }
        }
 
 
        //Cвойство типа string для доступа к полю с названием организации      
         
        private string _organization;
        /// <summary>
        /// Название организации
        /// </summary>
        public string Organization
        {
            get { return _organization; }
        }
 
        //Cвойство типа int для доступа к полю с номером регистрации
 
        private string _registryNumber;
        /// <summary>
        /// Регистрационный номер организации
        /// </summary>
        public string RegistryNumber
        {
            get { return _registryNumber; }
        }
 
        //Cвойство типа TimeFrame для доступа к полю с продолжительностью ис-следований
 
        private TimeFrame _last;
       
        /// <summary>
        /// Продолжительность исследований
        /// </summary>
        public TimeFrame Last
        {
            get { return _last; }
        }
 
        /// <summary>
        /// Cсылкa на публикацию с самой поздней датой выхода.
        /// <para>Eсли список публикаций пустой — возвращает null</para>
        /// </summary>
        public Paper Paper                                                                                       //  ?  2
        {
            get
            {
                return Count == 0 ? null : this.OrderByDescending(p => p.PublishDate).FirstOrDefault();
            }    
        }
 
       
 
        /// <summary>
        /// Возвращает true, если продолжительность исследований совпадает с указанной
        /// </summary>
        /// <param name="frame">Указанная продолжительность исследований</param>
        public bool this[TimeFrame frame]
        {
            get { return frame == Last; }
        }
 
        //Cвойство типа Paper[] для доступа к полю со списком публикаций по те-ме исследований    
 
        public List<Paper> list
        {
            get { return Papers; }
 
            set { Papers = value; }
        }
 
 
        public void AddPapers(Paper[] papers)
        {
            Papers.AddRange(papers);
        }
 
 
        public override string ToString()
        {
            return string.Join(",", Papers.Select(p => p.Publication));
        }
 
 
    }
 
 
}
 

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 01:06 27-10-2015 | Исправлено: Vladimirll, 01:19 27-10-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » параметризованные классы с#


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru