OpenClose
Flaş Haber
E-Öğrenim ile eğitimde zaman ve mekân engeli kalkıyor!

Gazi Üniversitesi, çağın yükseköğrenim gereklerine uygun olarak bilişim teknolojileri konusunda üzerine düşen atılımları yaparak bu konuda da lider üniversite konumuna gelmeyi amaçlamaktadır. Bunun bilinciyle Gazi Üniversitesi köklü eğitim anlayışını teknoloji ile birleştirerek internet üzerinde sunulan, web tabanlı bir eğitim sistemi ile uzaktan eğitimdeki yerini hızla almayı planlamaktadır.

 
Anasayfa
OOP (Object Oriented Programming) Nedir? PDF Yazdır E-posta
Yazar Administrator   
Çarşamba, 31 Ekim 2007
OOP (Object Oriented Programming)[Nesne Yönelimli Programlama]Nedir?

Birçok programcının korkarak yaklaşmak istemediği veya yeni başlayanların ön yargılı baktığı programlama metodolijisi olan OOP (object oriented Programming)[Nesne Yönelimli Programlama] ile ilk adımımızı atacağız. Konu gerçekten çok basit göreceksiniz ki tahmin ettiğiniz gibi zor bir programlama tekniği değil. geçenlerde bir e-posta geldi ve sırf bu konu için 1.000 lerce YTL ücret istiyorlar. Ben de düşündüm ve biliyorsam paylaşmalıyım bilgimi dedim ardından yazdım makalemi :)

Gelelim konumuza; adından da anlaşılacağı gibi nesne tabanlı bir programlama tekniği diyebiliriz.Daha açacak olursak; bizler programlarımızda kodlar yazarken bazı zamanlar oluyor ki aynı kodu başka bir yerde kullanmamız gerkiyor ve erinmeden,üşenmeden tekrar yazıyorduk. Artık böyle birşey yok. Kodlarımızı sınıflar içerisinde yazarak daha kullanışlı hale getiriyoruz. Düşünün; 1 okul var,okulun içersinde onlarca sınıf,sınıfın içerisinde onlarca öğrenci. Şimdi burada; okul=projemiz, sınıf=class , öğrenci = nesne. Bir öğrenciye ulaşmak için en hızlı yol nedir diye sorsam , muhtemelen hepiniz, Okulun içerisindeki sınıflara,oradan da öğrenciye dersiniz. Ve bu öğrencinin Matematik,türkçe gibi derslerini işleyebildiği gibi aynı öğrenciyi başka yerde kullanrak (atelye binasında) programlama dersine de girebilir. Kısacası öğrenci yani nesnemiz her yerde rahatlıkla hareket edebiliyor :) Biliyorum farklı bir örnek oldu ama , işe yeni başlayan arkadaşlar için açıklayıcı olmuştur umarım :)

Eğer kodları formumuza çift tıkladığımızda açılan sayfaya yazmıyor ve parçalara bölüp ilgili class lar oluşturup oralardan nesnelerimizi çağırıyorsak buna OOP (Object-Oriented Programming) denir. Genel olarak 3 prensibi vardır ve bunlar ;

1- Encapsulation

2- Inheritance

3- Polymorphism.

Encapsulation: obje hakkındaki bilgiler ve işlemler anlamına gelir. Metot ve özellik olarak adlandırdığımız bu işlemler bir nesnenin niteliklerini ve işlemlerini ortaya koyar. Örneğin bir öğrencinin numarası,adı,soyadı gibi.
Inheritance: Bir objenin başka bir obje üzerine kurulmasıdır. Örneğin bir öğrencinin numarasının, masasının, göz renginin olması ve bunlardan da öğrencinin tam objesini etkilemesi gibi.
Polymorphism: Belli bir işlemin (metodun) birçok obje tarafından kullanılmasıdır.


OOP Terimleri

Sınıflar
Yazacağımız programlarda sadece objeler vardır. Bu objeler, veri alışverişi yaparak, birbirleriyle haberleşirler.
Objeler OOP de sınıf olarak ifade edilen şablonlardan yaratılır. Her sınıf içinde, o sınıftan üretilecek nesnelerin özelikleri, davranışları tespit edilir. Örneğin Öğrenci isminde bir sınıf yaratabiliriz. Bu sınıftan üretilecek objelerin ortak yani, bir numara, ad, soyad gibi özellikleri olacaktır.
Sınıflar, obje üretme yanında aralarında akraba ve is ilişkileri kurmak mümkündür.

Nesneler
OOP de objeler sınıflardan üretilir. Objeler, sınıfların aksine canlıdır ve kimlikleri vardır. Aynı sınıftan üretilmiş iki objenin sahip olduğu değişkenler değişik özelliklere sahiptir. Örneğin öğrenci sınıfından üretilen ayşe ve ali isimli iki öğrencinin numaraları değişiktir. Burada adı geçen numarası, sınıf içinde yer alan bir özelliktir. Sınıftan üretilen her obje bu özelliği alır. Objeler üretilirken, obje özellikleri, sahip oldukları yapıya göre, değişik olacaktır. öğrenci örneğinde olduğu gibi, Ali ve Ayşe objeleri değişik numaralara sahiptir.

Metodlar
Metodlar bir objenin dışarıya açılan yoludur. Bir objenin içinde ne oldugu, objenin nasıl çalıştığı dışarıdan görünmez. Objenin sahip oldugu bir özellikleri vardır. Eger objeîle interaksiyon a girmek istiyorsak, dışa açılan yollardan (metodlardan) birini kullanmamız gerekir. objelere, sınıf içinde tanımlanmış ve her objenin sahip oldugu metotlar aracılığıyla mesaj gönderebiliriz. Eger bir objeden bir şey yapmasını bekliyorsak, metodunu kullanarak, ona bir mesaj göndeririz. Obje bu mesajı alarak, gerekli işlemi yapar.

Konstruktör
Objelerin sınıflardan yapıldığını daha önce öğrendik. Objeler üretilirken, sahip olduklari değişkenlerin değişik değerlerde olması gerekir. Öğrenci örneğinde oldugu gibi, Ali ve Ayşe isimli iki objenin değişik numaralara sahip olmaları gerekir. Bu demek oluyor ki, objeler üretilirken, onlara değişik kimlikler verecek bir mekanizmaya ihtiyacımız var.

Bu görevi sınıf içinde konstruktörler üstlenir. Objeler konstruktörler aracılığıyla üretilir. Konstruktör bir obje üretmeden önce, obje için gerekli değişken değerleri belirlenir ve bu değerler parametre olarak konstruktöre gönderilir. Konstruktör bu değerleri kullanarak, objeyi üretir. Her sınıf içinde, obje üretmek için bir konstruktör vardir.

Destruktör

Her sınıf içinde konstruktör yanında bir de destruktör bulunur. Destruktör ün görevi hayatı sona ermiş bir objeyi sistem üzerinden uzaklaştırmaktır. Program bitiminde üretilen bütün nesneler destruktör aracılığıyla yok edilir.

Eveet. Görüldüğü gibi hiç de korkulacak bir şey yok. Burada yazı üzerinde anlattık. İkinci etapda görsel olarak hazırlayacağım ve bu tekniklerin hepsini nasıl kullanabilceğimizi göreceğiz. İnanın daha da kolay gelecek ;)

Ercüment TÜRKELİ

İletişim : http://e-turkeli.spaces.live.com/

Bu mail adresi spam botlara karşı korumalıdır, görebilmek için Javascript açık olmalıdır
Son Güncelleme ( Çarşamba, 07 Kasım 2007 )