Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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(); } }
|