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

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

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






Пример 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; просмотров: 1231. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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

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