Главная Случайная страница


Полезное:

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


Категории:

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






Возврат объектов из методов





Метод может возвратить данные любого типа, в том числе и тип класса. Ниже в качестве примера приведен вариант класса Rect, содержащий метод Enlarge(), в котором строится прямоугольник с теми же сторонами, что и у вызывающего объекта прямоугольника, но пропорционально увеличенными на указанный коэффициент.

//возвратить обьект из метода.

using System;

class Rect

{

int width, height;

public Rect(int w, int h)

{

width = w;

height = h;

}

public int Area()

{

return width * height;

}

public void Show()

{

Console.WriteLine(width + " " + height);

}

/*метод возвращает прямоугольник со сторонами, пропорционально увеличенными на

указанный коэффициент по сравнению с вызывающим обьектом прямоугольника. */

public Rect Enlarge(int factor)

{

return new Rect(width * factor, height * factor);

}

}

class RetOgj

{

static void Main()

{

Rect r1 = new Rect(4, 5);

Console.Write("Размеры прямоугольника r1: ");

r1.Show();

Console.WriteLine("Площадь прямоуголника r1: " + r1.Area());

Console.WriteLine();

//создать прямоуголник в два раза больший прямоугольника r1

Rect r2 = r1.Enlarge(2);

Console.Write("Размеры прямоуголника r2: ");

r2.Show();

Console.WriteLine("Площадь прямоугольника r2: " + r2.Area());

}

}

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

//использовать фабрику класса.

using System;

class MyClass

{

int a, b; // закрытые члены класса

//создать фабрику для класса MyClass.

public MyClass Factory(int i, int j)

{

MyClass t = new MyClass();

t.a = i;

t.b = j;

return t; //возвратить обьект

}

public void Show()

{

Console.WriteLine("а и b: " + a + " " + b);

}

}

class MakeObjects

{

static void Main()

{

MyClass ob = new MyClass();

int i, j;

//сформировать обьекты, используя фабрику класса.

for (i = 0, j = 10; i < 10; i++, j--)

{

MyClass anotherOb = ob.Factory(i, j); //создать обьект

anotherOb.Show();

}

Console.WriteLine();

}

}

Date: 2015-09-02; view: 364; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию