Студопедия — Примеры выполнения заданий лабораторной работы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Примеры выполнения заданий лабораторной работы






Пример 1. Описать класс «запись», содержащий следующие закрытые поля: фамилия, имя, номер телефона, дата рождения (массив из трех чисел).

Описать класс «записная книжка», содержащий закрытый массив записей.

Написать программу, демонстрирующую все разработанные элементы классов.

 

using System;

using System.Collections.Generic;

namespace Zapis

{

class Zapis {

// закрытые члены класса: фамилия, имя, телефон, дата

рождения

private String _famil;

private String _name;

private String _telefon;

private int[] _date = new int[3];

private static int _KolZap;

// конструстор класса

public Zapis() {

Famil = " ";

Name = " ";

Telefon = " ";

Date[0] = 0;

Date[1] = 0;

Date[2] = 0;

_KolZap++;

}

// свойства для доступа к закрытым членам класса

public String Famil {

get { return _famil; }

set { _famil = value; }

}

 

public String Name {

get { return _name; }

set { _name = value; }

}

public String Telefon {

get { return _telefon; }

set { _telefon = value; }

}

public int[] Date {

get { return _date; }

set { _date = value; }

}

//статический метод, возвращающий количество записей

public static int GetKolZap() {

return _KolZap;

}

// метод для вывода информации о записи на экран

public void print() {

Console.WriteLine(" {0} {1}, родился {2}.{3}.{4}, его номер телефона: {5}", Name, Famil, Date[0], Date[1], Date[2], Telefon);

}

}

 

class ZapisBook {

// закрытый массив записей

private Zapis[] _mass;

//конструктор класса, создает массив записей

public ZapisBook(int KolZap) {

_mass = new Zapis[KolZap];

}

//индексатор для доступа к объекту класса

public Zapis this[int index] {

get { return _mass[index]; }

set { _mass[index] = value; }

 

}

}

 

class Program

{

static void Main() {

int _kolZap;

Console.Write(" Введите количество записей: ");

_kolZap = int.Parse(Console.ReadLine());

ZapisBook zp = new ZapisBook(_kolZap);

// заполнение массива записей

Zapis _currZap;

for (int i = 0; i < _kolZap; i++) {

_currZap = new Zapis();

Console.WriteLine(" Введите информацию по записи № {0}", i + 1);

Console.Write(" Фамилия: ");

_currZap.Famil = Console.ReadLine();

Console.Write(" Имя: ");

_currZap.Name = Console.ReadLine();

Console.Write(" Телефон: ");

_currZap.Telefon = Console.ReadLine();

Console.Write(" День рождения: ");

_currZap.Date[0] = int.Parse(Console.ReadLine());

Console.Write(" Месяц рождения: ");

_currZap.Date[1] = int.Parse(Console.ReadLine());

Console.Write(" Год рождения: ");

_currZap.Date[2] = int.Parse(Console.ReadLine());

zp[i] = _currZap;

Console.WriteLine(" ");

Console.WriteLine(" Количество записей в записной книге = {0}",

Zapis.GetKolZap());

}

 

Console.WriteLine(" Список всех записей: \n");

// вывод записей на экран

for (int i = 0; i < _kolZap; i++) {

zp[i].print();

}

Console.ReadLine();

}

}

}

Пример 2. Создать класс Rectangle, разработав следующие элементы класса:

- Поля: int a, b;

- Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.

- Методы, позволяющие:

вывести длины сторон прямоугольника на экран;

рассчитать периметр прямоугольника;

рассчитать площадь прямоугольника.

- Свойства:

получить-установить длины сторон прямоугольника (доступное для чтения и записи);

позволяющее установить, является ли данный прямоугольник квадратом (доступное только для чтения).

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Study

{

class Rectangle

{

int a, b;

int [] array = new int [2];

 

 

public Rectangle(int a, int b)

{

this.a = a;

this.b = b;

}

 

public void Show ()

{

Console.WriteLine(" Storony " + a +" x " + b);

}

 

public int Perimetr ()

{

return a * 2 + b * 2;

}

 

public int Square()

{

return a * b;

}

 

public int A

{

get { return a; }

set { a = value; }

}

 

public int B

{

get { return b; }

set { b = value; }

}

 

public bool K //kvadrat?

{

get { if (a == b) return true; else return false; }

}

 

public int this[int i]

{

get

{

if (i == 0)

return a;

else

return 0;

if (i == 1)

return 1;

else

return 0;

}

set

{

if (i == 0)

array[i] = a;

if (i == 1)

array[i] = b;

}

}

 

public static Rectangle operator ++(Rectangle ob)

{

Rectangle ob1 = new Rectangle(ob.a, ob.b);

ob1.a = ob.a + 1;

ob1.b = ob.b + 1;

return ob1;

}

 

public static Rectangle operator --(Rectangle ob)

{

Rectangle ob1 = new Rectangle(ob.a, ob.b);

ob1.a = ob.a - 1;

ob1.b = ob.b - 1;

return ob1;

}

 

public static bool operator true(Rectangle ob)

{

if (ob.a == ob.b)

return true;

else return false;

}

 

public static bool operator false(Rectangle ob)

{

if (ob.a! = ob.b)

return true;

else

return false;

}

 

public static Rectangle operator *(Rectangle ob, int skal)

{

Rectangle ob1 = new Rectangle(ob.a, ob.b);

ob1.a = ob.a * skal;

ob1.b = ob.b * skal;

return ob1;

}

 

public static implicit operator Rectangle (string a) //неявное преобразование типа int [] в DemoArray

{

return new Rectangle(a);

}

 

public static implicit operator int [](Rectangle a) //неявное преобразование типа DemoArray в int []

{

int []temp=new int[a.LengthArray];

for (int i = 0; i < a.LengthArray; ++i)

temp[i] = a[i];

return temp;

}

}

}

}

 

using System;

using Study;

 

class MyClass

{

static void Main()

{

Rectangle ob = new Rectangle(3, 5);

ob.Show();

Console.WriteLine(" Perimentr = " + ob.Perimetr());

Console.WriteLine(" Ploshad = " + ob.Square());

ob.A++;

ob.B++;

ob.Show();

ob.A--;

ob.B--;

ob.Show();

ob = ob * 2;

ob.Show();

ob.A = 15;

ob.B = 15;

ob.Show();

if (ob)

{

Console.WriteLine(" Eto kvadrat! ");

}

 

Console.ReadKey();

}

}







Дата добавления: 2014-11-10; просмотров: 1223. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия