Loading AI tools
nesne yönelimli programlamada, bir nesnenin nasıl çalıştığını belirten bir tanım Vikipedi'den, özgür ansiklopediden
Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır. Bir sınıftan türetilmiş bir nesne ise o sınıfın örneği olarak tanımlanır. Sınıflar genelde şahıs, yer ya da bir nesnenin ismini temsil ederler. Sınıflar metotları ile nesnelerin davranışlarını, değişkenleri ile ise nesnelerin durumlarını kapsül ederler. Sınıflar hem veri yapısına hem de bir ara yüze sahiptirler. Sınıflar ile nasıl etkileşime girileceği bu ara yüzler sayesinde sağlanır. Örneğin bir sınıf şablonu ile renk özelliğine, tekerleklere ve sür metoduna sahip olan bir araba temsil edebilir.
Gerçek hayat problemleri sınıf şablonları kullanılarak bilgisayar ortamına daha kolay ve anlaşılabilir bir biçimde aktarılabilir.
Sınıflar ve kodlar düzenli bir biçimde saklanarak zaman kaybı yaşanmaz.
Nesne yönelimli programlamada herhangi bir projede kullanılmak üzere yaratılan bir sınıf başka projelerde tekrar kullanılabilir.
Düzgün arabirimlerle birleşen sınıflar yaratabilir ve bu sınıfların birbirlerini minimum düzeyde etkileyecek şekilde programlar tasarlanarak birimsellik özelliğinden faydalanılabilir.
Metotlar üç ayri erisim kuralına göre tanımlanabilir. Bunlar public
, protected
ve private
olarak adlandırılmıştır. Metotların bir geri dönüş değeri de vardır. Bir metodun geri dönüş değerinin boş olması istendiğinde bir prosedür ya da bunun mümküm olmadığı dillerde boş veri türü olan void
kullanılmaktadır.
Verileri de metotlar da olduğu gibi üç erişim kuralı ile tanımlanabilir.
Yapıcı ve yıkıcı metotlar (constructor, destructor) otomatik olarak sistem tarafından çağrılır. Yıkıcı metotlar, nesnelerin bellekten silinmesi sırasında çağrılır. Böylece işi biten nesne için bellekte ayrılmış olan kısım, yeni nesneler için tekrar kullanılabilir. Yıkıcı metotlar hiçbir parametre almaz ve değer döndürmez.
Nesneler, dış dünya ile etkileşimlerini metotlar aracılığı ile tanımlarlar. Metotların içinde bulundukları nesnenin verilerine özel erişim hakları vardır. Nesnenin verilerini işleyen ve görevlerini yerine getiren bu metotlar, o nesnenin davranışı olarak kabul edilir. Metotlar, dış dünya ile nesnenin arayüzünü oluşturur. Örneğin televizyonun önündeki düğmeler, televizyonun içinde bulunan elektrik tesisatı ve kullanıcı arasındaki arayüz olarak kabul edilir. Bu düğmeye basarak televizyonu açıp kapatabilir veya başka bir işlev yerine getirilebilir. Bu örnekteki her metot bir düğme tarafından temsil edilmektedir ve birlikte bütün butonlar televizyon nesnesinin arayüzünü içerirler.
Arayüzlerin yardımcı metodu olarak bilinen statik metot (İngilizce: static method) ise içinde tanımlanmış olduğu sınıfa aittir. Statik metot, nesnelere ait olan bir metot (İngilizce: instance method) ile aynı erişim hakkına sahip değildir. Bir statik metodun ait olduğu sınıftan türemiş olan nesnelerin verilerine bu statik metodun erişme hakkı yoktur. Statik metot, ancak ait olduğu sınıfın statik verilerine erişebilmektedir. Televizyon sınıfından türemiş olan televizyon nesnelerinin sayısını bulmak ise televizyon sınıfında bulunan statik metoda ait bir görev olduğunu örnek olarak verebiliriz.
Nesneye yönelik programlama dillerinin çoğu kapsülleme ve bilgi gizleme kavramını aşağıda sıraladığımız üç özel bilgi erişim belirteçleri ile desteklerler.
public
(halka açık, kamu) erişim kuralı ile tanımlanan metotlara her nesneden erişilebilir.protected
(korumalı) erişim kuralı ile tanımlanan metoda bu metodun tanımlandığı sınıfdan örneklendirilmiş nesnelerin içinden ve bu sınıftan türetilmiş olan alt nesnelerden erişilebilir.private
(özel, gizli) erişim kuralı ile tanımlanan metoda sadece bu metodun içinden erişim hakkı bulunur.Nesne yönelimli programlamada ve Birleşik Modelleme Dilinde (UML) sınıflararası ilişkiler dört başlık altında toplanabilir:
RaporOluştur
sınıfı rapor sınıfını kullanmak, yani Rapor
sınıfına bağlı olmaktadır. Rapor
sınıfında yapılacak herhangi bir değişiklik, RaporOluştur
sınıfında değişiklik yapılmasına neden olacaktır.public class Sample
{
static void main (String[] args)
{
System.Console.WriteLine(GetMessage());
}
public String GetMessage()
{
return "Hello World!";
}
}
public class Ornek
{
public static void main (String args[])
{
System.out.println(metin());
}
public String metin()
{
return "Merhaba Dünya!";
}
}
class ZamanNesnesi
{
public function zamanıAl()
{
return(time());
}
public function tarihiAl()
{
return(date('jS F, Y', $this->zamaniAl());
}
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.