12
12
13
13
namespace RefactoringGuru . DesignPatterns . Prototype . Conceptual
14
14
{
15
-
16
15
public class Person
17
16
{
18
17
public int Age ;
@@ -22,25 +21,25 @@ public class Person
22
21
23
22
public Person ShallowCopy ( )
24
23
{
25
- return ( Person ) this . MemberwiseClone ( ) ;
24
+ return ( Person ) this . MemberwiseClone ( ) ;
26
25
}
27
26
28
27
public Person DeepCopy ( )
29
28
{
30
- Person other = ( Person ) this . MemberwiseClone ( ) ;
31
- other . IdInfo = new IdInfo ( IdInfo . IdNumber ) ;
32
- other . Name = String . Copy ( Name ) ;
33
- return other ;
29
+ Person clone = ( Person ) this . MemberwiseClone ( ) ;
30
+ clone . IdInfo = new IdInfo ( IdInfo . IdNumber ) ;
31
+ clone . Name = String . Copy ( Name ) ;
32
+ return clone ;
34
33
}
35
34
}
36
35
37
36
public class IdInfo
38
37
{
39
38
public int IdNumber ;
40
39
41
- public IdInfo ( int IdNumber )
40
+ public IdInfo ( int idNumber )
42
41
{
43
- this . IdNumber = IdNumber ;
42
+ this . IdNumber = idNumber ;
44
43
}
45
44
}
46
45
@@ -54,12 +53,18 @@ static void Main(string[] args)
54
53
p1 . Name = "Jack Daniels" ;
55
54
p1 . IdInfo = new IdInfo ( 666 ) ;
56
55
57
- // Perform a shallow copy of p1 and assign it to p2.
56
+ // EN: Perform a shallow copy of p1 and assign it to p2.
57
+ //
58
+ // RU: Выполнить поверхностное копирование p1 и присвоить её p2.
58
59
Person p2 = p1 . ShallowCopy ( ) ;
59
- // Make a deep copy of p1 and assign it to p3.
60
+ // EN: Make a deep copy of p1 and assign it to p3.
61
+ //
62
+ // RU: Сделать глубокую копию p1 и присвоить её p3.
60
63
Person p3 = p1 . DeepCopy ( ) ;
61
64
62
- // Display values of p1, p2 and p3
65
+ // EN: Display values of p1, p2 and p3.
66
+ //
67
+ // RU: Вывести значения p1, p2 и p3.
63
68
Console . WriteLine ( "Original values of p1, p2, p3:" ) ;
64
69
Console . WriteLine ( " p1 instance values: " ) ;
65
70
DisplayValues ( p1 ) ;
@@ -68,7 +73,9 @@ static void Main(string[] args)
68
73
Console . WriteLine ( " p3 instance values:" ) ;
69
74
DisplayValues ( p3 ) ;
70
75
71
- // Change the value of p1 properties and display the values of p1, p2 and p3.
76
+ // EN: Change the value of p1 properties and display the values of p1, p2 and p3.
77
+ //
78
+ // RU: Изменить значение свойств p1 и отобразить значения p1, p2 и p3.
72
79
p1 . Age = 32 ;
73
80
p1 . BirthDate = Convert . ToDateTime ( "1900-01-01" ) ;
74
81
p1 . Name = "Frank" ;
0 commit comments