CokgenDeneme kodunun açıklaması

Kodun ikinci satırında c Cokgen‘i tanımlandığında c‘nin içindekiler sadece Nokta olduğu için ve c kendi içinde başka bir çokgen barındırmadığı için derin = false olarak kalıyor. Dikkat ederseniz nesneler‘in içinde Nokta‘lar var. Resimde sağ yukarıdaki hale geliyor c‘nin içi.

Ama c.cokgenEkle (c1) dediğimiz zaman bu method önce c‘nin tamamını kopyalıyor ve nesneler‘in içine atıyor. Sonra da c1‘i alıp yine c‘nin içine atıyor. Aynı zamanda c‘nin derin değişkenini true olarak değiştiriyor. Bu değişken bize c çokgeninin içindekilerin noktalar değil yine başka çokgenler olduğunu söylüyor. Bu son halini de resimde altta görüyorsunuz. Üst tarafta c‘nin ilk hali, ilk noktaları, hemen altına da c1 kopyalanmış.

Yukarıdaki kod dropbox’taki kodtur. Çok karmaşık mı?