Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

3. Постановка задачи. 4. Порядок выполнения работы. 5. Содержание отчета. Лабораторная работа № 2. Создание объектов. 2. Общие сведения




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

Создать класс < имя класса> (имя класса задается в соответствии с выбранным вариантом), содержащий поля, которые можно использовать для хранения данных. Предусмотреть инициализацию переменных (полей) класса, помещение данных в переменные и извлечение данных.

 

4. Порядок выполнения работы

В главном меню системы программирования выберите команду File New Project или щелкните на соответствующей инструментальной кнопке. В окне New Project выберите пункт Console Application и щелкните на кнопке OK. В открывшемся окне в соответствии с вариантом задания напишите программу, использующую созданный вами класс.

 

5. Содержание отчета

5. 1 Тема и цель работы.

5. 2 Текст программы.

5. 3 Результаты выполнения программы.

 

Приложение 1

Варианты заданий

№ варианта Имя класса Поле 1 Поле 2 Поле 3
Студент Ф. И. О. Специально сть № группы
Военнослужащий Ф. И. О. Род войск Звание
Процессор Фирма производитель Количество ядер Тактовая частота
Жесткий диск Фирма производитель Емкость Интерфейс
Корпус системного блока ПК Фирма производитель Цвет Выходная мощность блока питания
Монитор Фирма производитель Цвет Размер по диагонали
Принтер Фирма производитель Тип принтера Количество печатаемых страниц в минуту
Патч-корд Фирма производитель Тип кабеля Длина
Печатное издание Вид издания Тираж Формат
Легковой автомобиль Марка Цвет Максимальная скорость

 

Самолет Марка Крейсерская скорость Дальность полета
Флеш-карта Фирма производитель Стандарт Емкость
Преподаватель Ф. И. О. Кафедра Стаж работы
Лампа освещения Тип лампы Потребляемая мощность Выходная световая мощность
Сканер Тип сканера Фирма производитель Макс. разрешение
Оптический диск Тип диска Фирма производитель Емкость
Пишущая ручка Тип ручки Фирма производитель Стоимость
Грузовой автомобиль Марка Цвет Макс. грузоподъемность
Модем Тип модема Фирма производитель Макс. скорость передачи данных
Компьютерная сеть Топология Тип физической передающей среды Макс. скорость передачи данных

 

 

Источник беспере-бойного питания Фирма производитель Марка Емкость
Дискета Фирма производитель Размер Емкость
Телефон Тип телефона Фирма производитель Стоимость
Материнская плата Фирма производитель Сокет Чипсет
Ноутбук Фирма производитель Процессор Стоимость
Блок питания ПК Фирма производитель Форм-фактор Мощность
Мышь для ПК Фирма производитель Тип мыши Интерфейс

Лабораторная работа № 2

Создание объектов

 

1. Цель работы. Получение навыков в разработке программ с использованием объектов.

 

2. Общие сведения

Класс предоставляет компилятору все необходимые сведения для создания создания объекта данного класса. В то же время в реальной программе могут действовать только объекты. Как только определен класс, можно создать объект этого типа, используя имя класса. Фактически имя класса становится спецификатором нового типа данных. Например, следующий код создает объект с именем intqueue типа queue: queue intqueue.

Для создания объекта каждый класс автоматически снабжается одноименным методом без параметров, который называется конструктором по умолчанию. Задача конструктора заключается в выделении объекту динамической памяти, необходимой для размещения всех его полей. При обращении к конструктору используется зарезервированное слово new. Возможные варианты создания объектов показаны здесь:

 

using System;

{ class queue

{private int q=50;

         private char[] arrchar= new char[4] {'a', 'b', 'c', 'd'};

         public int p = q;

         public char ch = arrchar[0];

}

class Executer

 {    [STAThread]

       static void Main()

       { //Новый объект можно создать в одной строке:

       queue a = new queue(); // создание объекта a класса queue

       // ... или двух

       queue b;

       b = new queue(); // создание объекта b класса queue

       }

}

 }

Если рассматривается та часть программы, которая не входит в состав класса, то для вызова переменной класса необходимо использовать имя объекта и оператор «точка». Например, следующий фрагмент иллюстрирует вызов переменной p для объекта а и переменной ch для объекта b:

using System;

{ class queue       

...

...

  queue a = new queue(); // создание объекта a класса queue

  queue b;

  b = new queue(); // создание объекта b класса queue

  Console. WriteLine(a. p); // Вызов значения переменной p

  Console. WriteLine(b. ch); // Вызов значения переменной ch

  Console. ReadLine(); // Ожидание нажатия клавиши Enter

              }

  }

}

Очень важно ясно себе представлять, что а и b являются двумя различными объектами. Это означает, что инициализация а не означает инициализацию b. Единственной связью между объектами а и b служит то, что они являются объектами одного и того же типа. Более того, копии переменных q, char, p и ch объекта а совершенно независимы от соответствующих копий переменных объекта b.

Использование имени класса и оператора «точка» необходимо только при вызове переменных или функций извне класса. Внутри класса одна переменная или функция может вызывать другую переменную или функцию непосредственно без использования оператора «точка».

Умалчиваемый конструктор, как и любой другой метод класса, можно перегрузить. Перегрузка метода заключается в том, что в классе объявляется одноименный метод. Чтобы компилятор «понял», о каком методе идет речь, набор входных параметров перегруженного метода (с учетом полиморфизма) должен отличаться от параметров оригинального — это обязательное условие. При необходимости можно сколько угодно раз перегружать метод, лишь бы у всех перегруженных методов наборы входных параметров отличались друг от друга и от параметров оригинального метода.

Полиморфизм — это принцип автоматического выбора метода, вызываемого объектом, в соответствии с типом данного объекта и с учетом иерархии наследования.

Программа реализующая перегрузку умалчиваемого конструктора представлена в следующем листинге:

 

using System;

namespace Project2

{ class queue

{ private int q=50;

  private char[] arrchar= new char[4] {'a', 'b', 'c', 'd'};

  public int p;

  public char ch;

  public queue() {} // Конструктор по умолчанию

  public queue(int q, int i) // Перегруженный конструктор

  { p = q;

  ch = arrchar[i];

  }

}

class Executer

{

  [STAThread]

  static void Main()

              {

// Создание объекта a с помощью перегруженного конструктора

                         queue a = new queue(500, 1);

                         Console. WriteLine(a. p);

                         Console. WriteLine(a. ch);

// Создание объекта b с помощью конструктора по умолчанию

                         queue b = new queue();

                         Console. WriteLine(b. p);

                         Console. WriteLine(b. ch);

                         Console. ReadLine(); // Ожидание нажатия клавиши Enter

              }

  }

}

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...