Ana içeriğe atla

Nesneye Dayalı Programlama

Yapısal Olmayan Dönem

Program tek bir blog kodundan oluşmaktaydı.
“GO TO” komutu kod içerisinde atlama yapmak için kullanılmaktaydı.
Spagetti kod oluşturulmaktaydı.
Yapısal Olmayan Programlamanın Dezavantajları

Programın boyutu büyüdükçe kontrol etmek güçleşir.
Kodun tek bir blog halinde yazılması tekrardan başka amaçlar için kullanılmasını engellemekteydi.
Takım çalışması için elverişli değildi.
Test etmek güçtü.
Yazılım Krizi

60’lı yılların sonuna doğru bilgisayar gücünün ve programların karmaşıklığının artması ile ortaya çıkmıştır. Yazılım krizi, 1968 yılında Almanya’daki NATO Yazılım Mühendisliği Konferansı’nda ilk kez dile gelmiştir. Yeni programlama stili burada ortaya çıkmıştır.

Yapısal Programlama

Program fonksiyonlara ayrılmaktadır.
Fonksiyonlar birbirinden bağımsızdır.
Fonksiyonlar kendi yerel verisini oluşturabilir.
Birden fazla girdi alabilir ve tek bir veri çıkışı yapabilir.
Yapısal Programlamanın Avantajları

Program daha küçük fonksiyonlara ayrıldığı için programın karmaşıklığı azalmaktadır.
Ekip çalışmasına daha uygundur.
Bakım daha kolaydır.
Yenilik daha kolay eklenir.
Daha kolay test edilir.
Yapısal Programlamanın Dezavantajları

Proje büyüdükçe

Kodun kontrolü güçleşmektedir.
Ekip çalışması zorlaşmaktadır.
Yenilenebilirlik azalmaktadır.
Test etme ve hata bulmak güçleşmektedir.
SINIF VE NESNE

Sınıf: Oluşturulacak nesnenin hangi özelliklere sahip olacağını belirten tasarıma denir.

class Ogrenci

{

public int yas;

public int ad;

public void Yazdır()

{

Console.WriteLine(“{0} yasi {1}’dir.”);

}

}

Nesne: Sınıfta oluşturulan yapılara verilen addır.

static void Main(string []args)

{

Ogrenci ogr1=new Ogrenci();

}

C#’ta Referans

Referans nesneleri gösteren değişkenlerdir. Hafızada nesnelere erişmek ve kontrol etmek için referanslar kullanılır. Referans nesne değildir. Nesneyi gösteren değişkenlerdir.

Yorumlar

Bu blogdaki popüler yayınlar

Algoritma Kavramı, Sözde Kod ve Akış Diyagramı

Bu yazımda çoğumuzun amelelik gibi gördüğü fakat belki de en önemli konu hakkında kısaca bilgi vermek istiyorum. Bundan sonra küçük örneklerle kod yazmayı arttıracağız. Programlama dillerinden bahsetmiştik geçenlerde. Yüksek seviyeli veya düşük seviyeli diller olsun hepsinin arasında kullanım farkları haricinde çok bir farkılılık yoktur. Hayatımızda kullandığımız koca koca programları, programlama dilleri değil onları hazırlayan algoritma kaynağı oluşturur. Kısaca algoritma kavramını tanımlarsak; Algoritma, belli bir problemi çözmek veya belli bir amaca ulaşmak için çizilen yoldur. Algoritma proglamlamada kullanılan en güzel tekniktir. Neyi nasıl yapacağımızı planlamamızı sağlar. Algoritmayı oluşturanda sözde kod ve akış diyagramlarıdır. ALGORİTMA ÖRNEĞİ(resim1) Sözde Kod:Yapacağımız algoritmayı kısa olarak sözle tanımlama yöntemidir. Örneğin; İki sayının toplamını veren algoritmanın sözde kodunu yazınız. 1)BAŞLA 2)YAZ(“1.sayiyi giriniz:”) 3)OKU(S1) 4)YAZ(“2.sayiyi g...

Örnek Algoritmalar ve Örnek C++ Kodları

Örneklerimize bu başlığımız altında devam ediyoruz arkadaşlar. :) Yıl başına kadar C++ hakkında bildiğim tüm konuları ve yaptığım projeleri sizlerle paylaşacağım. Sorularınızı yorumlarda bekliyorum. Şimdiden kolay gelsin :) Algoritma 5: Yarıçapı klavyeden girilen kürenin yüzey alanını ve hacmini açıklayan algoritmanın C++ kodunu yazınız.(π=3) #include <iostream> using namespace std; int main() { float r,alan,hacim; cout<<“Yaricapi giriniz:”; cin>>r; alan=4*3*r*r; hacim=(4*3*r*r*r)/3; cout<<“Alan:”<<alan<<endl; cout<<“Hacim”<<hacim<<endl; } Algoritma 6: Katsayıları klavyeden girilen birinci dereceden denklemin kökünü bulan algoritmanın C++ kodunu yazınız. #include <iostream> using namespace std; int main() { int a,b,c,x; cout<<“Katsayilari giriniz:”; cin>>a>>b>>c; x=(c-b)/a; cout<<“Kok:”<<x; } Algoritma 7:Klavyeden yarıçapı ve dilim açısı girilen daire diliminin...

Hayatımıza Birbirinden Farklı Çözümler Sunan Problemler: Algoritmalar

Merhaba arkadaşlar, Başlıktandan anlayacağınız gibi, hayatımıza birbirinden farklı çözümler sunan problemler topluluğu olarak algoritmayı tanımlayabilirim. Bu yazı serimizde algoritmaları tek tek tanıyıp çalışma mantıklarını inceleyen analiz eden, birden farklı çözümleri karşılaştırarak gerekirse kendimizde çözümler üretebileceğimiz bir seri yaratacağız. Algoritmalar bilmece bulmaca gibidir. Üzerinde düşündüğünde ufkunuzu açar. Bu seriyi hazırlama sebebimde ufkunuzu biraz olsun açmak oldu. Bu seriye başlamadan önce bir algoritmayı tanımlarken kullanacağımız terimleri tanıtmak istiyorum. Ayrıca algoritmaların pseudo kodlarıyla Java kodlarını da paylaşacağım. Belki Swift ile olan kodlarını da paylaşabilirim. ;) Ayrıca bu kodların toplu halde github hesabımdan erişim sağlayabilirsiniz. Şimdi algoritma dünyasını daha derinden tanıyalım. Algoritma nedir? Bir problemi çözmek için işlenen komutlar kümesine, algoritma nedir. Çözülebilir Problem nedir? Bir problem için algoritma oluşt...