У вас вопросы?
У нас ответы:) SamZan.net

Вариант 2 Телефон

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

Отчёт по лабораторной работе №5.

Вариант 2 - Телефон.

Цель:  Изучить механизмы и особенности наследования в С#.

Постановка задачи: 

     1.  Дополнить диаграмму классов UML.  

2.  Разработать иерархию классов.

  1.  Проиллюстрировать вызов конструкторов при наследовании.
  2.  Изучить механизм явного вызова конструкторов.
  3.  Проиллюстрировать использования модификатора protected.

UML диаграмма классов:

Описание программного модуля:

 

 

class Mobile : Phone               // класс мобильных 

{

      // переопределяем свойство State

 public override state_phone State

{

 get

 {

  return base.State;

 }

 set

 {

  base.State = value;

 }

}

      // переопределяем метод DownTube

 public override void DownTube()

{

 // base.DownTube ();

 Console.WriteLine("This class Mobile of method DownTube.");

}

      // переопределяем метод UpTube

 public override void UpTube(double time)

{

 // base.UpTube (time);

 Console.WriteLine("This class Mobile of method UpTube.");

}

      // переопределяем метод Ring

 public override void Ring(int number)

{

 // base.Ring (number);

 Console.WriteLine("This class Mobile of method Ring.");

 }

 public Mobile(): base("Cool")  // конструктор класса Mobile и базового класса

 {

 // Console.WriteLine("This constructor default of Mobile.") ;

}

};

class Paystation : Phone       // класс таксофонов

{

 protected string Place;    // место размещение

 public void SetPlace(string pl)  // изменить место

{

 Place = pl;

}

    

 public Paystation()           // конструктор

{

 // Console.WriteLine("This constructor default of Paystation.") ;

}

};

sealed class Siemens : Mobile             // класс мобильных - Siemens

{

 private string Buttons;               // кнопки

    // устанавливаем новое поведение для метода Ring

 public new void Ring(int number)

{

 Console.WriteLine("This class Siemens of method Ring in NEW.");

 }

  // переопределяем новое поведение для метода DownTube

 public override void DownTube()

{

 //base.DownTube ();

 Console.WriteLine("This class Siemens of method DownTube.");

 }

   // иллюстрируем работу операторов as и is

 public void RingAllPhone(object obj)

{

 Phone phone = obj as Phone;

   // as - получает объект указанного типа или null

 if (phone != null)

 {

  phone.Ring(333);

 }

     // is - проверяет можно ли преобразовать

 if (obj is Phone)

 {

  ((Phone)obj).Ring(111);

 }

}

 public void SetButton(string button)  // изменить кнопки

{

 Buttons += button;

}

 

 public Siemens()                      // конструктор    

{

 // Console.WriteLine("This constructor default of Siemens.") ;

 }

};

Результат работы программы:

Выводы:

  1.  Приобретены навыки в реализации наследования в C#.
  2.  Приобретён навык в создании защищённых атрибутов класса.
  3.  Получен опыт работы с конструкторами базовых классов  в C#.
  4.  Получен опыт реализации иерархии классов C#..
  5.  Получен навык по реализации закрытых классов.
  6.  Приобретен опыт по работе в вызове методов базового класса .




1. Швидкість різання при різних видах механічної обробки
2. Статья 27 Об общих принципах ФЗ131 Закон Воронежской области О территориальном общественном самоуправл
3. ЖАЛОБНАЯ КНИГА маленький роман из жизни накхов Стоянка I2 Знак ~ Овен
4.  Используйте план который способствует пониманию
5. угловое ускорение точки при ее вращении вокруг неподвижной оси пропорционально вращающему моменту и обратн
6. статья- Русская философия Под русской философией может подразумеваться как особенная национальная филос
7. Сам~ры~2014 Место- г Петропавловск БЕЗ ПЕНАЛИЗАЦИИ СУ1
8. Участие адвоката в уголовном процессе
9. Психология УДК 15075
10. Философия жизни