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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2016, 13:02   #1
Akerman13
Новичок
Джуниор
 
Регистрация: 22.11.2016
Сообщений: 1
По умолчанию Создать иерархию классов

Создать иерархию классов Выпускник вуза, Бакалавр, Магистр, Инженер. Класс Выпускник вуза должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран.
Akerman13 вне форума Ответить с цитированием
Старый 23.11.2016, 22:05   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Как принято писать "не судите строго, книгу Шилдта читаю только на 358 странице"
Скилловые камрады, просмотрите код иерархии в моем пониманию и подскажите что я сделал не верно.

Только по сути, пожалуйста, а не "Ты вашпе не шаришь, тут надо использовать <технология_о_которой_я_никогда_не_ слышал>"

Код:
namespace Rextester
{
    class Alumnus
    {
        DateTime startData;
        DateTime endData;
        string univer;
        
        //default
        public Alumnus()
        {
            DateTime localDate = DateTime.Now;
            EndData = localDate;
            StartData = localDate.AddDays(-365*5);
            Univercity = "PTU №14";
        }
        public Alumnus(string univr, string stData, string fnData)
        {
            Univercity = univr;
            DateTime h;
            DateTime.TryParse(stData, out h);
            StartData = h;
            DateTime.TryParse(fnData, out h);
            EndData = h;
        }
        public DateTime StartData
        {
            get{return startData;}
            set{startData=value;}
        }
        public DateTime EndData
        {
            get{return endData;}
            set{endData=value;}
        }
        
        public string Univercity
        {
            get{return univer;}
            set{univer=value==""?"bursa":value;}
        }
        public void ShowInfo()
        {
            Console.WriteLine("Период обучения {0}-{1}, учебное заведение \"{2}\"",
                               StartData.ToString("MMMM dd, yyyy"),EndData.ToString("MMMM dd, yyyy") ,Univercity);
        }
    }
    class Bachelor : Alumnus
    {
        String wrk_title; //тема выпускной
        String qual; //квалификация
        public Bachelor()
        {
            BachelorTitle="no title";
            BachelorQualification = "scavenger";
        }
        public Bachelor(string btitle, string bqual, string univer, string stData, string fData)
            : base (univer, stData,fData)
        {
            BachelorTitle = btitle; 
            BachelorQualification=bqual;
        }
        public Bachelor(string btitle, string bqual):base()
        {
            BachelorTitle = btitle; 
            BachelorQualification=bqual;
        }
        public string BachelorTitle
        {
            get{return wrk_title;}
            set{wrk_title=value!=""?value:"-";}
        }
        public string BachelorQualification
        {
            get{return qual;}
            set{qual=value;}
        }
        public void ShowBachelor()
        {
            //base.ShowInfo();
            Console.WriteLine("Тема бакалаврской работы \"{0}\", квалификация \"{1}\"",BachelorTitle, BachelorQualification);
        }
    }
    
    class Master : Bachelor
    {
        String wrk_title;
        String qual;
        //default
        public Master()
        {
           MasterTitle = "defaultTitle";
           MasterQualification = "defaultQualification";
        }
        //2 param
        public Master(string mtitle, string mqual):base ()
        {
            MasterTitle = mtitle;
            MasterQualification = mqual;
                
        }
        //4 param
        public Master(string mtitle, string mqual, string btitle, string bqual)
            :base(btitle,bqual)
        {
            MasterTitle = mtitle;
            MasterQualification = mqual;
        }
        //7 param
        public Master(string mtitle,string mqual, string btitle, string bqual, string univer, string stData, string fData)
                         :base(btitle,bqual,univer,stData,fData)
        {
            MasterTitle = mtitle;
            MasterQualification = mqual;
        }
        public string MasterTitle
        {
            get {return wrk_title;}
            set {wrk_title=value==""?"no title":value;}
        }
        public string MasterQualification
        {
            get {return qual;}
            set {qual=value==""?"no qual":value;}
        }
        public void ShowMaster()
        {
            //base.ShowBachelor();
            Console.WriteLine("Тема магистерской работы \"{0}\", квалификация \"{1}\"", MasterTitle, MasterQualification);
        }
    }
    class Engineer:Master
    {
        String wrk_place;
        String wrk_office;
        double wrk_sal;
        string Name;
        //default
        public Engineer():base()
        {
            Place = "loafer";
            Office = "couch";
            Name = "Noname";
            Sallary = 0.00;
        }
        public Engineer(string name, string place, string office, double sal):base()
        {
            Name = name;
            Place = place;
            Office = office;
            Sallary = sal;
        }
        public Engineer(string name, string place, string office, double sal,
                        string mtitle, string mqual)
            :base(mtitle,mqual)
        {
            Name = name;
            Place = place;
            Office = office;
            Sallary = sal;
        }
        public Engineer(string name, string place, string office, double sal, 
                        string mtitle, string mqual, string btitle, string bqual)
            :base(mtitle, mqual, btitle,bqual)
        {
            Name = name;
            Place = place;
            Office = office;
            Sallary = sal;
        }
        public Engineer(string name, string place, string office, double sal, 
                        string mtitle, string mqual, string btitle, string bqual, string univer, string stData, string fData)
            :base(mtitle, mqual,  btitle,  bqual,  univer,  stData,  fData)
       {
            Name = name;
            Place = place;
            Office = office;
            Sallary = sal;
       }
            
        public string Place
        {
            get{return wrk_place;}
            set{wrk_place = value;}
        }
        public string Office
        {
            get{return wrk_office;}
            set{wrk_office = value!=""?value:"freelancer:)";}
        }
        public double Sallary
        {
            get{return wrk_sal;}
            set{wrk_sal=value>0?value:0;}
        }
        public void ShowInfo()
        {
            Console.WriteLine("Инженер {0} работает в Фирме \"{1}\" на должности {2} за зп {3}",
                              Name,Office,Place,Sallary );
            Console.WriteLine("С {0} по {1} учился в {2}",StartData, EndData, Univercity);
            Console.WriteLine("Дипломные работы :");
            ShowBachelor();
            ShowMaster();
        }
        
    }
    
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("user T4 information :");
            //Engineer t4 = new Engineer();
            //Engineer t4 = new Engineer("Aleksandr","Planista","Office",10050.00);
            /*Engineer t4 = new Engineer("Aleksandr","Planista","Office",10050.00,
                                            "DBonFireBird","Teacher");*/
            /*Engineer t4 = new Engineer("Aleksandr","Planista","Office",10050.00,
                                        "DBonFireBird","Unemployer","DataBase","SeniorStudent");*/
            Engineer t4 = new Engineer("Aleksandr","Planista","Office",10050.00,
                                       "DBonFireBird","Unemployer","DataBase","SeniorStudent",
                                       "TUP","01/09/2003","31/07/2008");
            t4.ShowInfo();
        }
    }
}
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построить иерархию классов volo_d9 C# (си шарп) 5 07.04.2016 20:17
Создать иерархию классов здание, административное здание и жилое здание Маша))) Visual C++ 0 16.02.2016 18:41
Создать иерархию классов представляющих простое наследование gato Помощь студентам 0 28.04.2013 22:03
Построить иерархию классов kostik2665 C# (си шарп) 1 16.03.2011 14:25
нужно разработать иерархию классов, С++ headdd Помощь студентам 0 06.11.2009 22:16