Public, Void, Main, Static Nedir?
Public, void, main, static nedir?
81,107 Okunma 3 Yorum 30/10/2008 14:38:26
Yapıcılar(Constructors)
Yapıcının (constructor) ne yaptığını anlamak için sınıfın (class) ne olduğunu anımsamak gerekir. Sınıfın yalnızca bir tür-adı (cins-isim) olduğunu söylemiştik. Sınıf tanımı o türün niteliklerini (değişkenler) ve davranışlarını (metotlar) belirler. Elimizde o türe ait somut bir öğe (türü temsil eden varlık) varsa, o öğe, sözkonusu türün niteliklerine ve davranışlarına işlevlik kazandırır. Dolayısıyla, bir sınıftan, o türe ait öğe(ler) yaratmanın yolları olmalıdır.
Bir sınıf tanımlandığında, bellekte henüz onu temsil edecek öğeler yoktur (static sınıflar hariç). Her sınıf için bu işi yapan özel bir metot vardır. Bu metoda yapıcı (constructor) diyoruz. Yapıcının görevi türe ait öğe(ler) yaratmaktır. Java dilinde bu öğelere nesne (object, instance of the class) denir. Yapıcı (constructor), yaratılan sınıfın doğal bir parçasıdır ve aksi istenmedikçe ön-tanımlı (default) olarak derleyici tarafından oluşturulur ve kendi işlevini yapar. Constructor, javadaki öteki metotlardan tamamen farklıdır. Bu metodun bir değer-bölgesi yoktur; yani hiçbir değer almaz. Bir tek işlevi vardır: sınıftan nesne(ler) yaratmak.
Bir sınıftan bir nesnenin türetilmesi (instantiate) demek onun için ana bellekte bir yer ayrılması, sınıfın değişkenlerine başlangıç değerlerinin verilmesi ve varsa sınıfın fonksiyonlarının etkin duruma sokulması demektir. Bu iş yapılmadan, sınıf hiçbir işleve sahip değildir; sınıfın nitelikleri ve davranışları ancak bu nesnelerde görülebilir. Başka bir deyişle, bir sınıf içinde tanımlanan değişkenler ve metotlar ancak bir nesne içinde hayat bulurlar.
Bir sınıftan istenildiği kadar nesne yaratılabilir. Yaratılan her nesne için ana bellekte o nesneye özgü ve öteki nesnelerinkinden farklı bir yer ayrılır.
Bir sınıf içinde static belirtkesiyle damgalı olan değişkenlere sınıf değişkenleri (class variables) ve static belirtkesiyle damgalı olan metotlara sınıf metotları (class methods) denir.
Bir sınıf içinde static olmayan değişkenlere anlık değişkenler (instant variables) ve static olmayan metotlara anlık metotlar (instant methods) denir.
Nesne yaratılırken, derleyici tarafından otomatik olarak oluşturulan constructor’a ön-tanımlı (default) constructor demiştik. Ön-tanımlı constructor hiçbir parametresi olmayan ve sınıf ile aynı adı taşıyan bir metottur. Ancak, constructor bir metot olduğundan, istenirse aşkın yükleme (overload) yapılabilir, yani farklı parametrelerle farklı işlevlere sahip kılınabilir. Böyle bir constructor tanımlanınca, ön-tanımlı olan contructor kendiliğinden yok olur, onun işlevini tanımlanan constructor üstlenir. Derleyicinin yaratacağı ön-tanımlı constructor yerine, bir çok uygulamada aşkın constructor kurulması daha uygundur.
Örneğin sınıfı tanımlaması içinde, iki adet yapıcı (constructor) metod var. İlki Deger1 ve Deger2 isimli değişkenlerimize 0 değerlerini atıyan parametre almayan ve sınıflar için varsayılan olarak kabul edilen yapıcı metodumuz. Diğeri yapıcı metodumuz ise, bu değişkenlere aldığı parametre değerlerini atıyor. Birde Yaz isimli bir metodumuz var. Bu metod ise, sınıfımızın Deger1 ve Deger2 isimli integer değişkenlerini komut satırına yazdırıyor.
Ornek 2:
yukarıdaki örnek kodda dikdörtgen sınıfının oluşturucusu (constructor) iki kere yazılmıştır. Buna göre bir dikdörtgen oluşturulurken, bu sınıfı kullanacak olan sınıf aşağıdaki iki şekilde de oluşturabilir:
Yukarıdaki iki satırda bir dikdörtgen tanımlayarak bu sınıftan bir nesne oluşturmaya yaramaktadır. Sonuçta ilk satırdan sonra eni ve boyu 0 olan, ikinci satırda ise eni 10 boyu 15 olan bir dikdörtgen tanıtılmıştır.
Bu iki alternatif satır, aslında aynı objeyi iki farklı şekilde ( çok şekilli , polymorphism) olarak oluşturma imkanı sunmuştur.
OVERLOADİNG
Function Overloading ve Operator Overloading özelliklerini destekler.
Function Overloading aynı isimdeki fonksiyonların değişik tip ve sayıdaki parametreler alarak hangisinin
çağrılmasına derleyici tarafından karar verilmesini sağlayan mekanizmadır. Gerek fonksiyonlar için olsun gerekse operatörler için,Overloading nesnel yönelimli dillerde genelde varolan bir yöntemdir.. Java aynı adlı metodların aynı sınıf içerisinda kullanılmasına izin verir. Aynı sınıfta(class) kullanılan metodların girdi değişkenlerinin değişken türlerinin veya değişken sayılarının farklı olması gerekir. Java aynı isimli ve ayni degişkentürlü iki metodu birbirinden ayıramaz.
Ornek:
Burada overlodaing islemi gerceklesir ve fonksiyon string olarak cagırıldıgından iki goster fonksiyonundan altaki çağrılır.
Ornek 2
yukarıdaki 3 fonksiyonda birbirinin üzerine yüklenmiş (overloaded) fonksiyonlardır. Bu fonksiyonlar nesne yönelimli programlama dillerinde kabul edilebilir yeniden yükleme örnekleridir. Buna göre çağrılan parametre sayısına veya tipine göre hangi fonksiyonu çağıracağını ayırt etmek mümkündür.
Ancak aşağıdaki gibi bir üzerine yükleme hatalıdır:
Yukarıdaki iki fonksiyonu birbirinden ayırt eden özellik döndüş tipleridir (return type) dolayısıyla bu iki fonksiyonu birbirinden ayırt etmek imkansız olabileceği için bu üzerine yükleme şekli kabul edilmemektedir.
Public, void, main, static nedir?
81,107 Okunma 3 Yorum 30/10/2008 14:38:26
73,459 Okunma 3 Yorum 04/11/2009 11:21:08
Byte, short, int, long, float, double, boolean, char, string
59,863 Okunma Henüz yorum yapılmamış 04/11/2009 13:11:31
Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız. Java, dizi elemanlarını sırasıyla kontrol eder. Dolayısıyla arada değer atanmamış bir elemana rastlanırsa hata oluşur. Bu da cde çıkan hafıza bozulmalarını önler. Javada dizi kullanmak için ilk önce dizinin tipi verilir. Tip verilirken dizinin büyüklüğü belirtilmez
57,929 Okunma 2 Yorum 19/11/2007 15:13:25
57,472 Okunma 1 Yorum 25/10/2007 14:38:38
Değer alan ve geriye değer döndüren fonksiyonlar
55,817 Okunma Henüz yorum yapılmamış 01/04/2010 14:39:09
Public, private, protected
51,850 Okunma 12 Yorum 09/05/2018 18:06:34 09/05/2018 21:06:52
Javada İstisna Yakalama Mantığı
49,294 Okunma Henüz yorum yapılmamış 12/02/2010 12:59:07
Javada try-catch-finally ve throw, throws kullanımı detaylı anlatım
41,895 Okunma Henüz yorum yapılmamış 04/03/2010 09:34:25
Stringler bilinen = operatörleri ile karşılaştırılmazlar, ayrıca == ve != operatörleride stringler içindeki karakterleri karşılaştırmazlar
41,455 Okunma Henüz yorum yapılmamış 18/10/2007 12:43:49
Aritmetik operatorler 4 işlem ve mod, arttırma operatorleri, ilişkisel operatorler, mantıksal operatorler, kısa devre mantıksal operatorler
40,144 Okunma Henüz yorum yapılmamış 02/12/2009 13:58:19
40,103 Okunma 6 Yorum 15/01/2010 08:36:41 07/12/2013 21:52:44
39,647 Okunma Henüz yorum yapılmamış 15/01/2010 08:21:28
J2ee,j2se,j2me hakkında bilgi
36,682 Okunma 1 Yorum 21/10/2009 17:00:15 16/07/2014 17:00:35
Java, birbirinden farklı aygıtlarda çalışabilen, bu aygıtlar arasında iletişimi kolay hale getiren programlama dili ve platformudur. Java diliyle yazılmış programlar, Windows, UNIX, Mac işletim sistemi yüklü bilgisayarlarda hiç bir değişiklik yapmayı gerektirmeden çalışabilmektedirler
36,040 Okunma Henüz yorum yapılmamış 16/10/2007 13:23:36
Bu başlık altında javada temel değişkenler ve tip dönüşümleri tostring, parseint, equals, final terimi anlatacağım.
35,551 Okunma 1 Yorum 24/11/2008 15:01:37
Swing'in JTable nesnesi ve TableModel kullanımına ilişikin bir yazı
33,033 Okunma Henüz yorum yapılmamış 26/01/2009 22:19:34
Class ve fonksiyon nedir, program yazma standartları ve kuralları...
32,483 Okunma Henüz yorum yapılmamış 30/10/2008 14:39:19
Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen dizi erişim indisi ile erişilir. Bir dizide n tane eleman varsa dizinin uzunluğu da n kadardır; ilk elemanın indisi/konumu 0’dan başlar, son elemanı ise n-1’dir.
31,661 Okunma 1 Yorum 14/04/2008 11:01:20
29,565 Okunma 1 Yorum 15/01/2010 01:32:16 22/01/2016 01:33:10
28,846 Okunma Henüz yorum yapılmamış 30/12/2009 11:02:00
Java programlamada paket yapısı ve import
28,635 Okunma Henüz yorum yapılmamış 16/04/2009 10:59:26
Son yıllarda çoklu ortamda ilerleme kaydeden Java, Java3D ile yüksek performans isteyen üç boyutlu grafiklerde de 'Ben varım!' diyor.
27,735 Okunma Henüz yorum yapılmamış 26/01/2009 22:23:10
Mod Operatörü, Aritmetik Atama Operatörü, Arttırma Azaltma Operatörleri, Iliskisel Operatorler ve Kısa Devre Iliskisel Operatörler, Kısa devre iliskisel operatorler, ? Operatoru
26,928 Okunma Henüz yorum yapılmamış 04/12/2009 12:11:34
26,591 Okunma 1 Yorum 14/01/2010 10:26:28
Aynı paket içersindeki klas yapılarına kolay erişimi sağlayan bir uygulama
26,462 Okunma Henüz yorum yapılmamış 16/03/2009 12:32:04
Java classpath tanımlamaları, consolda ilk program yazılması, derlenmesi, çalıştırılması aynı uygulamanın netbeansta yapılışı ve class, java ve jar dosyalarının gösterilmesi
25,308 Okunma Henüz yorum yapılmamış 27/10/2008 22:00:38