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

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

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





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




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


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


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


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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

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