// Создать фабрику для класса MyClass. public static MyClass Factory(int i, int j) { MyClass t = new MyClass(); t.a = i; t.b = j; return t; // возвратить объект }
static void Main() { MyClass ob = new MyClass(); ob.ShowArgs("Это ряд целых чисел", 1, 2, 3, 4, 5); ob.ShowArgs("А это еще два целых числа ", 17, 20); Console.ReadKey(); }
static void Main() { // Сконструировать объект типа MyClass, используя инициализаторы объектов. MyClass obj = new MyClass { Count = 100, Str = "Тестирование" }; Console.WriteLine(obj.Count + " " + obj.Str); Console.ReadKey(); }
static void Main() { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(88); MyClass t3 = new MyClass(17.23); MyClass t4 = new MyClass(2, 4); Console.WriteLine("t1.x: " + t1.x); Console.WriteLine("t2.х: " + t2.x); Console.WriteLine("t3.x: " + t3.x); Console.WriteLine("t4.x: " + t4.x); Console.ReadKey(); }
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(); Console.ReadKey(); }
static void Main() { MyClass ob = new MyClass(); // Доступ к членам alpha и beta данного класса // разрешен только посредством его методов. ob.SetAlpha(-99); ob.SetBeta(19); Console.WriteLine("ob.alpha равно " + ob.GetAlpha()); Console.WriteLine("ob.beta равно " + ob.GetBeta()); // Следующие виды доступа к членам alpha и beta // данного класса не разрешаются. // ob.alpha = 10; // Ошибка! alpha - закрытый член! // ob.beta =9; // Ошибка! beta - закрытый член! // Член gamma данного класса доступен непосредственно, // поскольку он является открытым. ob.gamma = 99; Console.ReadKey(); }
static void Main() { MyClass ob1 = new MyClass(4, 5); MyClass ob2 = new MyClass(6, 7); Console.Write("ob1: "); ob1.Show(); Console.Write("ob2: "); ob2.Show(); if (ob1.SameAs(ob2)) Console.WriteLine("ob1 и ob2 имеют одинаковые значения."); else Console.WriteLine("ob1 и ob2 имеют разные значения."); Console.WriteLine(); // А теперь сделать объект ob1 копией объекта ob2. ob1.Copy(ob2); Console.Write("оЫ после копирования: "); ob1.Show(); if (ob1.SameAs(ob2)) Console.WriteLine("ob1 и ob2 имеют одинаковые значения."); else Console.WriteLine("ob1 и ob2 имеют разные значения."); Console.ReadKey(); }
/* Нестатический метод может быть вызван из статического метода по ссылке на объект. */ public static void staticMeth(MyClass ob) { ob.NonStaticMeth(); // все верно! }
// Возвратить значение true, если параметр ob // имеет те же значения, что и вызывающий объект. public bool SameAs(MyClass ob) { if ((ob.alpha == alpha) & (ob.beta == beta)) return true; else return false; }
// Сделать копию объекта ob. public void Copy(MyClass ob) { alpha = ob.alpha; beta = ob.beta; }