SHEEP CLONING
Paley Li, Nicholas Cameron, and James Noble
1
SHEEP CLONING Paley Li, Nicholas Cameron, and James Noble 2 Object - - PowerPoint PPT Presentation
1 SHEEP CLONING Paley Li, Nicholas Cameron, and James Noble 2 Object cloning How do you do object cloning? 3 Shallow cloning Copies an object and alias the references in that object. 3 Shallow cloning Copies an object and alias
Paley Li, Nicholas Cameron, and James Noble
1
2
3
3
foo a b
3
foo’ b a foo a b
4
4
foo a b
4
a foo b a foo’ b
9
displayWindow
5
scrollBar
10
displayWindow
5
scrollBar displayWindow’
11 6
displayWindow displayWindow’
7
displayWindow imageDatabase
7
displayWindow imageDatabase displayWindow’ imageDatabase’
8
displayWindow displayWindow’
9
10
ANY class.
deep cloning.
clones, but had overlooked it?
11
an object.
12
heap.
13
conceptually part of an object.
14
conceptually part of an object.
14
Representation = context =
15
X X
15
each object.
16
17
displayWindow
17
displayWindow displayWindow’
17
displayWindow displayWindow’
17
displayWindow displayWindow’
system with deep ownership.
correctness property of our formalism.
18
19
19
19
19
19
19
19
19
19
20
21
21
Original object
21
Original object
21
Original object
21
Original heap
21
Map
21
Sheep clone
21
New heap (containing the Sheep clone)
22
23
B A C D
23
B A C D A’ Map: A A’
23
B A C D A’ Map: A A’ D D
23
B A C D A’ Map: A A’ D D B B’ B’
23
B A C D A’ B’ C’ Map: A A’ D D B B’ C C’
23
B A C D A’ B’ C’ Map: A A’ D D B B’ C C’
24
24
25
25
25
25
26
B A C D A’ B’ C’ = A Where: = A’
26
B A C D A’ B’ C’ = A Where: = A’
27
B A C D A’ B’ C’
27
B A C D A’ B’ C’
27
B A C D A’ B’ C’
28
B A C D A’ B’ C’
28
B A C D A’ B’ C’ A’’ A’
28
B A C D A’ B’ C’ B’ A’, C’’ A’
29
B A C D A’ B’ C’ A ’ D
29
B A C D A’ B’ C’ A’ D
30
B A C A’ B’ C’ D
30
B A C A’ B’ C’ A ’ D D
31
B A C D A’ B’ C’ A’ ’ D
31
B A C A’ B’ C’ D A’ ’ D
32
B A C D A’ B’ C’
32
B A C D A’ B’ C’
32
B A C D A’ B’ C’
33
34