![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 05/2007 Yer: Sakarya
Mesaj: 116
|
arkadaşlar sınıfları kurcalamaya başladım, türkçe kaynaklarda nesne tabanlı programlama ile ilgili birşey bulamadım ingilizcem pek iyi değil, dive into python da sınıflara kadar geldim daha gidemedim, anlamadım çünki sınıfları.. neyse sora sora araştıra araştıra birşeyler öğrendim ve aklıma birşeyler takıldı.. öncelikle __init__ in sınıf çağrıldığında ilk çalışacak kod diye biliyorum, eğer bu doğruysa şöyle bir sorum var, __init__ diye bir fonksiyon tanımlamaktansa sınıfı açtıktan sonra direkt kodu yazsak aynı şey olmaz mı? yani örnek: Kod: class deneme:
def __init__(self):
kod
Kod: class deneme:
kod
ikinci olarak eğer ilk söylediğim doğruysa Kod: class deneme:
def asdasd(self):
print "ben calistim artik bu sinif icindeki a nin degeri bravo"
self.a = "bravo"
d = deneme()
d.asdasd()
print d.a
Kod: class deneme:
def __init__(self):
print "hede"
a = "omer"
neden deneme().a şeklinde çağıramıyoruz a yı? en önemli soru da sanırım bu: sınıfları kullanmaya nedne ihtiyacım var? nerelerde kullanılır ve nesne nedir ![]() teşekkürler.. |
| | |
| | #2 (permalink) |
| The Shawshank Redemption Üyelik Tarihi: 06/2008 Yer: Sufi's deepest dreams...
Mesaj: 864
|
$imdi kodla alakali sorularina cevap veremeyecegim ama genel olarak sinif ve nesne sorularina mantik olarak cevap vermeye cali$ayim. Sinifi anlatmak icin önce Pythondaki veri tiplerini taniyorsun degil mi? String, int falan. I$te bu veri tipleri gibi ama kendi ürettigimiz tiplere sinif denir. Bunlara kiyasla kendi ürettigimiz tipler cok daha karma$ik olabilir. Pythondaki Int tipi sadece bir tamsayi degerinden ibaretken, bizim kendi yaptigimiz tipler, yani siniflar birden cok deger yaninda birden cok fonksiyon da barindirabilirler. Mesela Ev diye bir sinif yaptigimizda Ev adinda bir veri tipi tanimlami$ oluruz. Bunun icinde int cinsinden metrekare_alan, oda_sayisi, yapim_yili gibi degerler tanimlanmi$ olabilir. Ayriyeten bu Ev isimli veri tipimiz oturma_odasini_isit() veya barinak_sagla() gibi fonksiyonlara da sahip olabilir. Nesne de bu Ev veri tipinde degi$kenlerin her birine denir. Yani sinif genel olarak evi tanimlarken (sözlükteki tanimi gibi), nesneyle kastedilen belli bir evdir, mesela nergis sokak no:124 daire 15, kat 4 gibi. Ev sinifi o zaman bir fabrika gibidir. Ev tipinde nesneler tanimlar ve üretir. Böylece ayni kodu farkli degerlerle kullanmani saglar. (Benim evim, senin evin, cankaya köskü hepsi sinif olarak evdir, ama metrekare_alan degerleri farklidir mesela).
__________________ Operating System : Ubuntu 8.10 Intrepid Ibex Desktop : GNOME Programming Language : Java Development Tool : Eclipse Using Eclipse for : Java, C, C++, Python, PHP |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 08/2008
Mesaj: 13
| Örneğin herkesin arabasının olduğu bir işin var. Burada tanımlanacak bir araba sınıfı işleri kolaylaştıracaktır. Örneğin araba sınıfında model, km. , maxhız, renk, plaka gibi özellikler olur. Her kişi için bir örnekleme ile işini kolayca halledersin. Aynı sınıfın bir de garaja_parketme metodu, ve ya gaza_bas, dur gibi metotları olabilir, yaptığın işe göre herkesin arabası için tek tek uğraşmak yerine bir model sınıftan nesne türeterek işini kolayca halledersin. Bu tabi dilimin döndüğünce en basit anlatımı. Biraz pratik ve çalışma ile daha sonra "design patterns" (tasarım modellemeleri-şablonları) konusuyla ilgilenirsen, büyük yazılımlarda nasıl işe yaradığını daha iyi anlayacaksın. ![]() Kolay gelsin, başarılar dilerim. |
| | |
| | #5 (permalink) |
| The Shawshank Redemption Üyelik Tarihi: 06/2008 Yer: Sufi's deepest dreams...
Mesaj: 864
| Neden insanlar araba teriminin ne oldugunu bilmekle yetinmeyip kendisi de araba sahibi olmak istiyorsa ondan. Nesne hayati kolayla$tirir. Ev gibi araba gibi. Nesne sinif tipinin tanimladigi $eylere birer kimlik verir, onlari bireyselle$tirir. Ve o $eyleri birbirinden ayirt etmeye yarar. Mesela bir ögrenci kayit programi yapmak istediginde eger Ögrenci tipinde nesnelerin olursa her nesneye farkli bir isim verebilirsin. 1.ye Ahmet, 2. Kemal falan. Ayriyeten Ahmet'le Kemal'in ögrenci no'lari ve adresleri falan da vardir. Bütün bu bilgiler sadece bir tek nesneye yani o ki$iye aittir ve o nesnede kayitlidir. Python'da da bu öyle mi bilmiyorum ama C++, Java gibi dillerde istedigin takdirde bu bilgilerin ba$kasi tarafindan görünmesini engelleyebilirsin. Yani istediginde bilgileri nesneye gizleyebilirsin. Ve nesne temelli programlamanin en önemli özelliklerinden, nedenlerinden biri de siniflar arasinda kalitim baglari kurulabilmesi. Mesela Ögrenci sinifindan LiseÖgrencisi diye bir alt sinif türetebilirsin ve nesne temelli programlamaya ait bazi özelliklerle bu yeni sinif otomatikman türedigi sinifin özelliklerini alir. Hem de bu özellikleri her defasinda satir satir yazmadan, sadece anahtar kelimeler kullanarak.
__________________ Operating System : Ubuntu 8.10 Intrepid Ibex Desktop : GNOME Programming Language : Java Development Tool : Eclipse Using Eclipse for : Java, C, C++, Python, PHP |
| | |
| | #7 (permalink) | ||
| Yönetim Kurulu Üyelik Tarihi: 01/2008 Yer: İstanbul
Mesaj: 254
| Alıntı:
Kullanıldığı yere göre değişir. Mesela pyqt4 de; class... def __init__(self, ui): self.ui = ui vs. şeklinde hazırlanmış bir programda arayüze direk bu kısımdan program açılır açılmaz işlemler yaptırılabilir. Bu kısımdan önce yazılan kodlar hata verebilir. Nasıl tanımladıysan ona göre kullanım kolaylığı var. Alıntı:
global değişken hangi fonksiyonda vs. ise önce o fonksiyon çağrılır daha sonra ancak fonksiyonda istediğin global(!) değişkene bağlanır. Bu verdiğin örnekte sınıf ve fonksiyon tanımlanmış; fonksiyonun ve sınıfın dışından istenilen değişken çağrılmış.
__________________ Güzel gören güzel düşünür, güzel düşünen hayatından lezzet alır. (Said Nursi) Java Tutorial:http://java.sun.com/docs/books/tutor.../download.html | ||
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Üyelik Sistemi İle İlgili Sorular | BerkH | PHP | 25 | 05/05/2003 17:22 |
| SORULAR: WinXP'ye terfi? / WinXP mi yoksa ondan sonraki mi? / Home mu Pro mu? vs vs. | Sedat Atif | Windows | 9 | 11/04/2003 22:10 |
| :.Eski Üye Yeni Sorular.: | kaşif | ASP | 6 | 21/12/2002 19:17 |
| Avatar yarısması hakkındaki sorular | gardiyan | Hayata Dair | 4 | 07/08/2002 07:04 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |