Python'da Nesne Tabanlı Programlama OOP konusu,size bilgiçerçevesi sağlayacak Öğrenmek isteyenler için temelden başlayarak ayrıntılı bir şekilde anlatılmaktadır Python öğrenirken mutlaka bilinmesi gereken bir konudur Hemen inceleyin ve OOP hakkında uzmanlaşın!
Python'da nesne tabanlı programlama, kodu daha modüler ve yeniden kullanılabilir hale getiren bir programlama paradigmıdır. Bu makale, Python'da OOP'nin temel prensiplerini açıklamak ve örneklerle açıklamak için tasarlanmıştır.
Nesne Tabanlı Programlama Nedir?
Nesne tabanlı programlama (OOP), Python dahil birçok programlama dilinde kullanılan bir yaklaşımdır. OOP, programlama sürecinde nesnelere, yani veriler ve işlevler arasındaki ilişkiye dayanır. Bu yaklaşım, kodun daha düzenli ve anlaşılır olmasını sağlar ve kodun yeniden kullanılabilirliğini artırır.
Python'da nesne tabanlı programlama, sınıf ve nesne kavramları üzerine kuruludur. Bir sınıf, bir nesne için bir şablon görevi görür ve her nesne, bu sınıf tarafından belirlenen özelliklere sahiptir. Örneğin, bir Araba sınıfı hız, renk gibi özelliklere sahip olabilir, her biri bir araba nesnesi için farklı değerlerle tanımlanabilir. Ardından bu nesneler sınıfa özgü metodlarla işlemler yapabilirler.
OOP, programlamada verilerin yönetimini ve işlevler arasındaki ilişkiyi daha iyi yönetir. Veriler daha az karmaşık olur ve bu veriler üzerinde işlemler yapmak daha kolay hale gelir. Özetle, nesne tabanlı programlama, kodun organizasyonunu ve verimliliğini artıran bir programlama yöntemidir.
Neden Nesne Tabanlı Programlama?
Nesne Tabanlı Programlama (OOP), kodun daha organize, modüler ve yeniden kullanılabilir olmasını sağlayarak programlama işlemini daha kolay hale getirir. Bu yöntemle, kod karmaşıklığı azalır ve daha fazla verim elde edilir.
OOP, kod yazmayı daha kolay hale getirir. Bir sınıf oluşturarak yeni nesneler oluşturabilir ve büyük projeleri daha küçük parçalara ayırmak mümkündür. Bu, her parçanın ayrı ayrı geliştirilmesine ve sonra başka projelerde kullanılabilmesine olanak tanır.
Kod yeniden kullanımı, OOP'nin en büyük avantajlarından biridir. Kod bloklarını bir defa yazarsınız ve daha sonra başka projelerde bunları kullanabilirsiniz. Bu özellik zaman ve çaba tasarrufu sağlar ve aynı zamanda daha az satır kod yazmanızı gerektirir.
Nesne tabanlı programlama, kodun daha okunabilmesini sağlar. Sınıflar, nesneler ve metodlar kullanarak bir yapı belirleyebilir ve kodu daha kolay anlaşılır hale getirebilirsiniz.
Miras alma, OOP'de önemli bir özelliktir. Var olan kodu bir işlev katarak değiştirmek zorunda kalmadan yeni kodlar oluşturabilirsiniz. Aynı zamanda, sınıfları özelleştirmek ve daha özel durumlara uygun hale getirmek için kullanılabilir.
Nesne tabanlı programlama, projelerin daha hızlı geliştirilmesini sağlar. Uyumlu bir proje geliştirme süreciyle, kodun daha iyi organize edilmesi ve her bir modülün ayrı olarak test edilmesi mümkün kılıyor.
Kod Yeniden Kullanabilirliği
Nesne tabanlı programlamayı kullanmanın en önemli avantajlarından biri, kodun yeniden kullanılabilirliğidir. Bu, kodun herhangi bir yerde yeniden kullanılabilmesi anlamına gelir ve bu, programcıların zaman ve emek tasarrufu yapmalarını sağlar.
Örneğin, bir şirketin birçok ürünü varsa, her bir ürünün kendi özellikleri ve işlevleri vardır. Ancak tüm ürünlerin birçok ortak özelliği de vardır. Nesne tabanlı programlama kullanarak, ortak özellikler, bir ana sınıf içinde toplanabilir ve bu sınıf, tüm ürün sınıflarında yeniden kullanılabilir. Bu, kodu daha az tekrarlamak ve daha basit ve okunaklı hale getirmek anlamına gelir.
Benzer şekilde, bir sınıfın özelliklerini güncellemek veya yeniden yapılandırmak istediğinizde, nesne tabanlı programlama kullanarak bunu kolayca yapabilirsiniz. Sınıfı değiştirerek tüm nesneleri etkilemek yerine, sınıftan türetilen tüm nesneleri güncelleyebilir veya yeniden yapılandırabilirsiniz. Bu, programcıların çok daha esnek ve hızlı bir şekilde çalışmasını sağlar.
Sonuç olarak, nesne tabanlı programlama kullanmanın en büyük avantajlarından biri, kodun yeniden kullanılabilirliğidir. Bu, programcıların daha az tekrarlamak, programlama sürecini hızlandırmak ve kodu daha okunaklı ve anlaşılır hale getirmek için çok önemlidir.
Miras Alma
Python'da nesne tabanlı programlama yaparken, sınıfların miras alması çok önemlidir. Mirası kısaca, bir sınıfın veya nesnenin, başka bir sınıftan veya nesneden aldığı özelliklerdir. Özellikle büyük projelerde, birçok sınıfın birbirine benzer işlevleri olabilir ve bir sınıfın özelliklerini diğerlerine aktarmak işlerimizi kolaylaştırabilir.
Bir sınıfın miras aldığı sınıf, ebeveyn sınıf olarak adlandırılır. Bir sınıf, 'class Sınıf(ad)', şeklinde tanımlanabilir. Burada 'ad', ebeveyn sınıfın adıdır. Miras almak için, sınıfın ebeveyn sınıfından türetilmesi gereklidir. 'class AltSınıf(ebeveynSınıf):' şeklinde tanımlanır. Bu nedenle, AltSınıf, ebeveynSınıf'ın özelliklerini içerir.
Örneğin, 'Üçgen' adlı bir sınıfımız var ve 'HareketliNesne' adlı bir ebeveyn sınıfımız var. Bu ebeveyn sınıf, bir nesnenin hareket etme özelliğine sahip olmasını sağlar. 'Üçgen' sınıfımız, 'HareketliNesne' sınıfından türetilebilir ve bu nesne hareket edebilir. Böylece, bu sınıfa 'HareketliÜçgen' adını veririz ve yeni sınıf, 'HareketliNesne' özelliğini de içerir.
Ebeveyn sınıf | Alt sınıf |
---|---|
HareketliNesne | HareketliÜçgen |
Bu şekilde, kod tekrarlarını azaltabilir, zaman kazanabilir ve kodun daha kolay okunabilir olmasını sağlayabiliriz. Ancak, miraslı sınıfların oluşturulması, kodun anlaşılması zor bir hale gelebilir, bu nedenle bu özellik, doğru bir şekilde kullanılmalıdır.
Sınıflandırma
Python'da nesne tabanlı programlamada, nesneler özelliklerine ve davranışlarına göre sınıflandırılır. Bu sınıflandırma, programcılara karmaşık bir yapıyı basit ve anlaşılır bir şekilde ifade edebilme imkanı sağlar.
Bir örnekle açıklamak gerekirse, bir araba sınıfı oluşturduğumuzu düşünelim. Bu araba sınıfında, özellikler hız, renk, marka gibi özellikler olabilirken; davranışlar da onun hareketleri, frenlemesi ve hızlanması olabilir. Bu sınıflandırma, arabanın özellikleri ve davranışlarını kolayca yönetmenize olanak sağlar.
Bununla birlikte, sınıflandırmanın başka bir önemli avantajı da, nesnelerin birbirleriyle nasıl etkileşime geçtiğinin anlaşılmasını sağlamasıdır. Örneğin, araba sınıfındaki özellikler doğrudan motor sınıfı ile ilişkilendirilebilir. Böylece, bir arabanın hızını değiştirdiğinizde, motor sınıfındaki özellikler de buna göre uyumlu hale gelir.
Tablolar ve listeler sınıflandırmanın daha iyi anlaşılması için kullanılabilir. Tablolar, nesnelerin özelliklerini ve değerlerini görsel olarak sunarken; listeler nesnelerin gruplandırılması için kullanılabilir.
Araba Sınıfı | Motor Sınıfı |
---|---|
Marka: Toyota | Güç: 150 beygir |
Hız: 100 km/sa | Tip: Benzinli |
Renk: Kırmızı | Kapasite: 1,6 litre |
Böyle bir tablo, araba ve motor sınıflarının özelliklerinin yan yana görüntülenmesini sağlar. Bunun yanı sıra, farklı araba sınıflarını listeleyebileceğiniz bir liste de oluşturabilirsiniz; örneğin, Sedan, SUV, Station Wagon vb.
- Sedan
- SUV
- Station Wagon
Sınıflandırma, nesne tabanlı programlamanın temelinde yer alan önemli bir prensiptir ve Python dilinde uygulanması oldukça kolaydır. İyi bir sınıflandırma, güçlü ve etkileyici programlar oluşturmanız için önemlidir.
Kod Okunabilirliği
Python'da nesne tabanlı programlama kullanarak kodun daha okunaklı olmasını sağlamak mümkündür. OOP'de kod özelliğinin bir objeyle ilişkilendirilmesi nedeniyle, kod daha yapısallaşmış ve daha düzenli gözükmektedir.
Nesne tabanlı programlamada, kodu başka birine vermeyi gerektiren durumlar olabilir. Bu durumda, kodun okunabilirliği oldukça önemlidir. Kodun daha iyi okunabilmesi için OOP, kodu özelliklerine ve fonksiyonlarına göre sınıflara ayırır. Bu sayede benzer kodlar bir arada tutulur ve kodun okunabilirliği artar.
Öte yandan, OOP'nin karışıklığı azaltması, kodun öğrenilmesini ve öğrenmenin daha hızlı olmasını sağlar. Nesne tabanlı programlama kullanan birisinin, kodu anlaması, değiştirmesi veya geliştirmesi daha hızlı ve kolay olacaktır. Ayrıca, OOP sayesinde birçok kaynak kod yazdığınızda programınızın okunması bir hayli kolay olacaktır.
Genel olarak, nesne tabanlı programlamanın kodun daha okunaklı hale gelmesine yardımcı olduğu görülmektedir. Basit bir OOP prensibi kullanarak daha anlaşılır ve tutarlı programlar yazmanız mümkündür. Kodun okunaklı olması, programlama dilini öğrenen yeni geliştiriciler için de önemlidir.
Python'da Nesne Tabanlı Programlama Nasıl Yapılır?
Python'da nesne tabanlı programlama yapmak oldukça kolaydır ve temel olarak sınıflar ve nesneler kullanılarak gerçekleştirilir. İşte Python'da OOP yapmak için temel ilkeler;
Sınıf Tanımlama: OOP'nin temel ilkelerinden biri sınıfların kullanımıdır. Sınıf, bir nesneyi tanımlamanın bir yoludur ve özellikleri (değişkenler) ve işlevleri (metodlar) içerebilir. Bir sınıf oluşturmak için, 'class' anahtar kelimesi kullanılır ve ardından sınıf adı belirtilir. Örneğin:
class Araba: |
Nesne Oluşturma: Bir sınıftan bir nesne oluşturmak için, sınıf adını kullanmanız gerekir. Bu, bir 'instance' olarak adlandırılan bir nesne oluşturur. Örneğin:
araba = Araba() |
Metodlar: Bir sınıfın metodları, işlevlerle aynıdır ancak bir sınıfa özgüdürler. Bir metod tanımlamak için, sınıf adından sonra bir nokta ve ardından metodu belirleyebileceğiniz bir ad kullanarak 'def' anahtar kelimesi kullanılır. Örneğin:
class Araba: def hareket_et(self): print("Araba hareket ediyor...") |
Bu örnekte, 'hareket_et' adında bir metod tanımlandı. Metod herhangi bir parametre almadan sadece bir çıktı verir.
Bu temel prensipleri uygulayarak, pek çok farklı programlama senaryosunu gerçekleştirebilirsiniz. Şimdi öğrendiğiniz OOP konusunu daha iyi anlamak için örnekler kullanarak uygulamalısınız.
Sınıf Tanımlama
Python'da nesne tabanlı programlama yapmak için, sınıfları tanımlamamız gerekir. Sınıf, aynı özelliklere sahip nesneleri gruplamamıza olanak sağlar. Bir sınıf tanımlamak için, 'class' kelimesini kullanırız ve sınıfın adını belirtiriz. Sınıfların adları genellikle büyük harfle başlar.
Bir sınıf tanımlarken, sınıfın parametrelerini de belirtebiliriz. Parametreler, sınıfın özelliklerini ve niteliklerini belirler. Parametreler, sınıfın __init__() fonksiyonuna aktarılır. Bu fonksiyon, bir nesne oluşturulduğunda otomatik olarak çağrılır.
Örneğin, bir Hayvan sınıfı tanımlayalım:
Sınıf Adı: | Hayvan |
---|---|
Parametreler: | tür, ağırlık, renk |
Bu sınıftan bir nesne oluşturmak için, şu şekilde yapabiliriz:
- ayı = Hayvan('Ayı', 150, 'Kahverengi')
Bu kod, 'ayı' adında bir nesne oluşturur ve Hayvan sınıfının tür, ağırlık ve renk parametreleri ile tanımlar.
Sınıflar, özellikleri ve metodları içerebilir. Metodlar, sınıf içindeki işlevleri belirtir ve nesne üzerinde çalıştırılabilir. Sınıfın __init__() fonksiyonu, sınıfın özelliklerini tanımlamak için kullanılırken, diğer metodlar işlevselliği sağlamak için kullanılabilir.
Özetle, Python'da nesne tabanlı programlama yapmak için, sınıfların nasıl tanımlandığını, nesnelerin nasıl oluşturulduğunu ve sınıfların özelliklerinin ve metodlarının nasıl kullanılabileceğini öğrenmemiz gerekir. Bu sayede, programlarımızı daha modüler hale getirerek, kod okunabilirliğini artırabilir ve tekrar kullanılabilirliği sağlayabiliriz.
Nesne Oluşturma
Python'da nesne tabanlı programlama yaparken oluşturduğumuz sınıflar, nesneleri temsil eder. Sınıflar, özellikleri ve metodları tanımlar. Özellikler, sınıfın nesnesinin özelliklerini tanımlar. Metodlar ise sınıfın nesneleri üzerinde hangi işlemleri gerçekleştireceğini belirler.
Nesne oluşturma, bir sınıftan bir nesne oluşturmak ve özelliklerine atamak anlamına gelir. Nesne oluştururken, sınıftan yeni bir örneği yapılandırırsınız. Aşağıdaki örnek kullanarak nasıl bir nesne oluşturacağımızı gösterelim:
Kod | Açıklama |
---|---|
class Ogrenci: | Bir sınıf tanımlar |
adi = '' | adi değişkeni sınıfın özelliğini tanımlar |
def tanimla(self, adi): | tanimla metodu, nesne parametresi ve adi argümanı alır |
self.adi = adi | nesne özelliği adi'ya adi parametresini atar |
ogrenci1 = Ogrenci() | ogrenci1 adında bir nesne oluşturur |
ogrenci1.tanimla('Ahmet') | ogrenci1 nesnesinin adi özelliğine 'Ahmet' değerini atar |
Yukarıdaki örnekte, Ogrenci adında bir sınıf tanımladık. Sınıfın bir özelliği olan adi'ye boş bir dize atadık ve tanimla() adında bir metot oluşturduk. Bu metot, bir nesneye adi özelliğini atamak için kullanılır.
Son olarak, ogrenci1 adında bir nesne oluşturduk ve tanimla() metodunu kullanarak adi özelliğini "Ahmet" olarak atadık. Bu işlem, ogrenci1 nesnesinin 'adi' özelliğine 'Ahmet' değerini atar. Nesne oluşturma işlemi tamamlandı ve artık öğrencinin adını ogrenci1.adi şeklinde okuyabiliriz.
Metodlar (Fonksiyonlar)
Python'da nesne tabanlı programlama (OOP) için önemli bir konu olan metodlar, sınıfların işlevselliğini artırmak için kullanılır. Python'da bir sınıfın metodu, bir fonksiyon olarak tanımlanır ve diğer fonksiyonlarla aynı şekilde çalışır. Ancak, metodlar, nesnelerin özelliklerine erişebilir ve nesneler üzerinde işlem yapabilir.
Bir sınıfın metodlarını tanımlamak için, metot ismi ve parantezler içinde parametreler belirtilir. Örneğin, aşağıdaki kod örneği, bir sınıfta "merhaba" isimli bir metodun nasıl tanımlandığını gösterir:
```class Araba: def merhaba(self): print("Merhaba, bu bir arabadır.")```
Yukarıdaki örnekte, "Araba" adlı bir sınıf oluşturuldu ve "merhaba" adlı bir metot tanımlandı. Metot, "self" parametresiyle bir nesne belirtilerek çağrılabilir. Örneğin:
```araba1 = Araba()araba1.merhaba() # "Merhaba, bu bir arabadır." çıktısı verir```
Metotlar, nesnelerin özelliklerine ve diğer metodlarını kullanabilirler. Örneğin, aşağıdaki örnek, "Araba" sınıfında "calistir" adlı bir metodun nasıl tanımlandığını gösterir:
```class Araba: def __init__(self, marka, model, renk): self.marka = marka self.model = model self.renk = renk
def calistir(self): print(f"{self.renk} {self.marka} {self.model} arabası çalıştı.")```
Yukarıdaki örnekte, "calistir" adlı bir metot, bir "Araba" nesnesinin özelliklerine ("marka", "model" ve "renk") erişerek kullanılır. Ayrıca, "__init__" adlı bir özel metot kullanılarak, "Araba" sınıfının özellikleri tanımlanır.
Bir sınıfın metotları, sınıfın işlevselliğini artırırken, kod tekrarını da azaltır. Sınıfın her nesnesi, aynı metotları kullanarak, farklı sonuçlar üretebilir. Bu nedenle, Python'da nesne tabanlı programlama yaparken, metodların kullanımı önemlidir ve sınıf yapısının temel bir parçasını oluşturur.
Örneklerle Nesne Tabanlı Programlama
Python'da nesne tabanlı programlamayı öğrenmenin en iyi yolu örneklerle çalışmaktır. Bu sayede, nesne tabanlı programlamanın temel prensiplerini daha iyi anlayabilir ve uygulayabilirsiniz. Özellikle, Python'da nesne tabanlı programlamaya geçiş yapmak isteyenler için örnekler oldukça faydalıdır.
Bir temel örnek olarak, "Merhaba Dünya" programını nesne tabanlı bir şekilde yazabilirsiniz. Öncelikle, "Merhaba" adlı bir sınıf oluşturun ve burada özellik olarak bir ad tanımlayın. Ardından, "Merhaba" sınıfından bir nesne oluşturun ve adı belirleyin. Son olarak, "Merhaba" nesnesini kullanarak mesajı yazdırın.
Adım | Kod | Açıklama |
---|---|---|
1 | class Merhaba: | "Merhaba" adlı sınıfı tanımlayın. |
2 | def __init__(self, ad): | "ad" adlı bir özellik tanımlayın ve sınıfın yapıcı fonksiyonunu tanımlayın. |
3 | self.ad = ad | "ad" özelliğini sınıfın özelliği haline getirin. |
4 | def yazdir(self): | "yazdir" adlı bir fonksiyon tanımlayın. |
5 | print("Merhaba, benim adım", self.ad) | Yazdırma işlemini gerçekleştirin. |
6 | nesne = Merhaba("Ahmet") | "Merhaba" sınıfından bir nesne oluşturun ve adını "Ahmet" olarak belirleyin. |
7 | nesne.yazdir() | "yazdir" fonksiyonunu çağırarak sonucu ekrana yazdırın. |
Bu örnekte, "Merhaba" adlı bir sınıf tanımlıyoruz. Bu sınıfın özelliği olan "ad" ile bir nesne oluşturup adını belirliyoruz. Daha sonra, "yazdir" adlı bir fonksiyon tanımlayarak sonucu ekrana yazdırıyoruz. Bu örneği değiştirerek farklı sonuçlar elde edebilirsiniz.
Bir diğer örnek ise bir banka hesap sistemi oluşturmak olabilir. Bu örnekte, "Hesap" adlı bir sınıf oluşturarak hesap açma, kapatma, para yatırma, para çekme işlemlerini gerçekleştirebilirsiniz. Bu gibi örnekler, nesne tabanlı programlamanın gücünü gösterir ve karmaşık sistemlerin oluşturulmasına olanak sağlar.
Basit Bir Örnek
Python'daki nesne tabanlı programlama (OOP) temel olarak nesnelerin özelliklerine dayalı olarak programlama yapmamızı sağlar. Bu, verileri ve bunların işlemlerini içeren bir yaklaşımdır. Basit bir örnek düşünelim.
Bir müşteriye ait bir hesap yönetim sistemimiz olduğunu varsayalım. Bu sistemi, bir sınıf olarak tanımlayabiliriz.
Özellikler | Açıklama |
---|---|
Müşteri Adı | Müşterinin adı |
Hesap Numarası | Müşterinin hesap numarası |
Bakiye | Hesaptaki para miktarı |
Yukarıdaki tabloda, müşterimizin sahip olduğu özellikler tanımlanmaktadır. Şimdi, bu özellikleri işleyen bir Python programı yazabiliriz.
class Hesap: def __init__(self, ad, hesap_no, bakiye): self.ad = ad self.hesap_no = hesap_no self.bakiye = bakiye def para_yatir(self, miktar): self.bakiye += miktar def para_cek(self, miktar): if self.bakiye - miktar >= 0: self.bakiye -= miktar else: print("Bakiye yetersiz")# Yeni bir hesap oluşturalımmustafa_hesap = Hesap("Mustafa", "123456", 1000)print(mustafa_hesap.ad)print(mustafa_hesap.bakiye)mustafa_hesap.para_yatir(500)print(mustafa_hesap.bakiye)mustafa_hesap.para_cek(2000)print(mustafa_hesap.bakiye)
Yukarıda verilen kod, hesap ile ilgili özellikleri ve işlemleri içeren bir sınıf tanımlamaktadır. __init__ metodunda, müşteri adı, hesap numarası ve başlangıç bakiyesi gibi özellikler tanımlanır.
Sınıfımızın iki metodu vardır: para_yatir ve para_cek. Bakiyeyi artıran para_yatir metodu, müşterinin hesabına para yatırmamızı sağlar. Para çeken para_cek metodu, müşterinin hesabından para çekmemizi sağlar, ancak yeterli bakiye yoksa bir uyarı mesajı gösterir.
Örneğimizde, yeni bir hesap oluşturuyoruz ve bu hesap için birkaç işlem yapıyoruz. Sonuç olarak, hesap bakiyesi artırılıyor ve azaltılıyor.
Bu basit örnekte, müşteri hesaplarının yönetimi için nesne tabanlı programlamanın nasıl kullanılabileceğini gösterdik.
Daha Kompleks Bir Örnek
Bir film stüdyosu, yeni bir film çekmek istiyor. Ancak önce, stüdyodan birkaç sinematografist, senarist, oyuncu ve başka birçok çalışanın olduğu dev bir personel listesi oluşturulması gerekiyor. Bu örnek, daha karmaşık bir nesne tabanlı programlama uygulamasına sahip olacak
İlk olarak, stüdyonun çalışanlarını içeren bir ‘Personel’ sınıfı tanımlanır. Bu sınıf, her bir çalışanın isimleri, adresleri ve pozisyonlarını içeren veri alanlarına sahip olacaktır.
Sonra, film yapımı aşamasında kullanacağı diğer nesnelere ihtiyaç duyar. ‘Senaryo’ sınıfı, öykü, karakterler ve diyaloglar içeren bir senaryo kodunu temsil ederken, ‘Sinematografi’ sınıfı, bir film sahnesinin çekim açısını ve aydınlatmasını temsil eder.
Bunun yanı sıra, ‘Oyuncu’ sınıfı kullanıcıdan, oyuncunun adını, soyadını, doğum tarihini ve karakteri hakkında birkaç bilgi ister. Ayrıca, oyuncunun çalışacağı filmi de belirlemelidirler.
Personel listesi tamamlandıktan sonra, bir ‘Film’ sınıfı oluşturulur. Bu sınıf, stüdyonun yapmak istediği tüm filmlerin özelliklerini ve özelliklerine ulaşılabilecek yöntemleri içerir. Örneğin, film yapım aşamasında hangi çalışanlarla çalışılacağı, hangi sahnelerin çekileceği, ne zaman ve nerede çekildiği vb. bilgiler bu sınıfın içinde yer alır.
Bu örnek, karmaşıklığı nedeniyle nesne tabanlı programlama prensiplerinin pratik bir uygulamasını gösterir. Bir dizi sınıfı birlikte çalıştırarak, bu örnek, stüdyonun tüm filmleri için bir temel yaratır ve bu da kodun düzenlenmesini kolaylaştırır.