Перегружаемый конструктор и "this" - C#
Формулировка задачи:
Помогите нубу разобраться с механизмом работы этого кода. Как понять ": this" . Насколько я знаю ":" означает наследование... В комментах написано что один конструктор мол вызывает так другой и т.д. Вот код(кстати он из шилдта "The complete reference" ):
The output from the program is shown here:
Inside XYCoord(int, int)
Inside XYCoord()
Inside XYCoord(int, int)
Inside XYCoord(int, int)
Inside XYCoord(obj)
t1.x, t1.y: 0, 0
t2.x, t2.y: 8, 9
t3.x, t3.y: 8, 9
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { // Demonstrate invoking a constructor through this. using System; class XYCoord { public int x, y; public XYCoord() : this(0, 0) { Console.WriteLine("Inside XYCoord()"); } public XYCoord(XYCoord obj) : this(obj.x, obj.y) { Console.WriteLine("Inside XYCoord(obj)"); } public XYCoord(int i, int j) { Console.WriteLine("Inside XYCoord(int, int)"); x = i; y = j; } } class OverloadConsDemo { static void Main() { XYCoord t1 = new XYCoord(); XYCoord t2 = new XYCoord(8, 9); XYCoord t3 = new XYCoord(t2); Console.WriteLine("t1.x, t1.y: " + t1.x + ", " + t1.y); Console.WriteLine("t2.x, t2.y: " + t2.x + ", " + t2.y); Console.WriteLine("t3.x, t3.y: " + t3.x + ", " + t3.y); Console.ReadKey(); } } }
Решение задачи: «Перегружаемый конструктор и "this"»
textual
Листинг программы
public myClass(int x = 9, int y = 8){}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д