2. Bölüm Nesne Merkezli Programlamanın Temelleri Java ile Nesne Merkezli Programlamaya Giriş Akın Kaldıroğlu
|
|
- Iskander İnan
- 7 yıl önce
- İzleme sayısı:
Transkript
1 Java ile Nesne Merkezli Programlamaya Giriş 2. Bölüm Nesne Merkezli Programlamanın Temelleri Akın Kaldıroğlu Mayıs 2015
2 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğiam malzemelerinin tüm hakları Akın Kaldıroğlu na aier. Ø Bu eğiam malzemelerini kişisel bilgilenme ve gelişiminiz amacıyla kullanabilirsiniz ve isteyenleri hip:// adresine yönlendirip, bu malzemelerin en güncel hallerini almalarını sağlayabilirsiniz. Ø Yukarıda bahsedilen amaç dışında, bu eğiam malzemelerinin, Acari olsun/ olmasın herhangi bir şekilde, toplu bir eğiam faaliyeande kullanılması, bu amaca yönelik olsun/olmasın basılması, dağırlması, gerçek ya da sanal/ Internet ortamlarında yayınlanması yasakrr. Böyle bir ihayaç halinde lüten benimle, adresinden ileaşime geçin. Ø Bu ve benzeri eğiam malzemelerine katkıda bulunmak ya da düzeltme ve eleşarilerinizi bana iletmek isterseniz çok sevinirim. Ø Bol Java lı günler dilerim. 2
3 Tanımlar 3
4 Soyutlama I Ø Soyutlama, bir şeyin, sahip olunan bakış açısı iabariyle, en önemli özelliklerini ön plana çıkarırken, önemli olmayan özelliklerini basrrmakrr, görmezden gelmekar: Ø Önemli olan özellikler, genel olarak o şeyi diğer şeylerden ayırt eden unsurlardır ya da ana, asli özelliklerdir, Ø Ayırt edici olmayanlara ise ikincil ya da arizi özellikler denir. Ø Zihnimiz karşılaşrğı her nesneyi tek tek algılamak yerine, nesneleri, karekterisak özellikleriyle algılar, sonra da ya zihinde var olan kavramsal bir kategoriyle örtüştürür ya da böyle bir kategori yoksa, bu nesneden yola çıkarak yeni bir kategori oluşturur. 4
5 Soyutlama II Ø soyutlama İng. abstrac-on (Lat. abstracao < abstrahere = çekip çıkarmak, soymak, ayırmak): 1. Gerçekte ayrılamaz olanı düşüncede ayırma eylemi. (Ör. Biçimi, rengi, boyutları özdekten ayırıp düşünme.) 2. Geneli ve öz olanı arınmış bir biçimde elde etmek için özle ilgili olmayanı bir yana bırakma. Bir tasarımın ya da bir kavramın nitelik ve bağınr gibi öğelerini göz önüne almayarak dikkaa doğrudan doğruya kavrama çeken düşünme eylemi. (Ör. Üçgen kavramında; üçgenin büyük, küçük, eşkenarlı ya da dik açılı oluşunu göz önüne almamak gibi.) Ø Bilim ve Sanat Terimleri Sözlüğü, hip:// 5
6 Soyutlama III Ø Soyutlamanın İngilizce karşılığı abstrac-on kelimesidir. Ø Britannica da şöyle tarif edilmektedir: The cogniave process of isolaang, or "abstracang," a common feature or relaaonship observed in a number of things, or the product of such a process. Ø Soyutlama, bu anlamda kavramsallaşrrma ile aynı anlamdadır. 6
7 Neden Soyutlama? Ø Çünkü zihnimiz bu haliyle soyutlama yapmadan bir nesneyi tüm yönleriyle kavrayamaz. Ø Dolayısıyla soyutlama, bir indirgemedir, basitleşarmedir ya da genellemedir. Ø Soyutlamalar, bir bebeğin dünyayı algılama şeklinde apaçık görülür: Ø Köpek: 4 ayaklı, havlayan ve kuyruğunu sallayan canlı 7
8 Soyutlama Örneği: Haritalar Ø Haritalar, soyutlamaya mükemmel bir örnekarler: Ø Farklı türdeki haritalar, aynı gerçekliğin farklı yönlerini beamlerler, amaçları dışındaki özellikleri göstermezler. Ø Dolayısıyla zihin de soyutlamaları bir amaç doğrultusunda yapar. Ø Amaç ya da ilgi alanı, aynı gerçekliğin farklı soyutlamalarının yapılmasını sağlar: Ø Otel zincirlerinin ya da benzin istasyonlarının haritaları, Ø Aynı binaya bakan farklı meslekteki kişilerin farklı soyutlamaları. 8
9 İstanbul Metro Haritası 9
10 "Ne"lik ve "Nasıl"lık Ø Soyutlamalar, bir şeyin "ne"liği üzerine yoğunlaşır, "nasıl"lık üzerine eğilmez. Ø Yani temel özellikleri, o özelliklerin oluşumundan, nasıl meydana geldiğinden bağımsız olarak ele alır: Ø Araba yı algılamak için, motor yapısını bilmeye gerek yoktur, Ø Ya da bir insanla ortaklık kurmak için onun DNA dizilerini bilmeye de gerek yoktur. 10
11 Soyutlama ve Gerçeklik Ø Soyutlama, sonsuz karmaşıklıktaki gerçekliği basitleşarerek anlama çabasıdır. Ø Aslında bütün soyutlamalar birer kurgudur, insanın gerçekliğe giydirdiği bir kisvedir, çoğu gerçeklikte ya yoktur ya da bizim algıladığımız şekilde değildir: Ø Banka ya da banka hesabı ya da bilgisayarda dosya sistemi tamamen insan kurgusudur Ø Dosya sistemine karşın hard diskin fiziksel yapısı ve dosya kopyalamayı düşünün. Ø Metre ya da gram ise gerçeklikte bizim algıladığımız şekilde değildir. Ø Dolayısıyla insan zihni, gerçekliği algılamak için olduğu kadar kendi gerçekliğini oluşturmak için soyutlamalar yapar. 11
12 Model I Ø Bir şey ile ilgili farklı açılardan ya da ilgi alanlarından yapılan soyutlamaların bütününe model denir. Ø Modeller, bir neseyi ya da olguyu daha bütünsel olarak ifade ederler, çünkü birden fazla soyutlama barındırırlar. Ø Bu nesne ve olguların çoğu zaman bir tek açıdan yapılan soyutlamayla anlaşılamayacak kadar farklı vechelere sahip olmasındandır. Ø Dolayısıyla modellerle biz gerçeklikteki şeylerin, zihnimizin daha rahat algılaması amacıyla, birden fazla bakış açısıyla elde edilmiş formal tanımlarını yapmış oluruz. 12
13 Model II Ø Ya da başka bir deyişle soyutlamaları da sınıflandırırız: Ø Bir binanın staak, dinamik açılardan özelliklerini ve davranışlarını farklı soyutlamalarla ortaya koyarız. Ø Aynı binanın elektrik donanımı, ısıtma/soğutma/ havalandırma düzeni ve ısı yalırmı vs., hepsi birer soyutlamadır. Ø Bir binayı ancak bu soyutlamaların bütünü temsil edebilir ki bu durumda binanın modeli elde edilmiş olur. 13
14 Sınıflandırma Ø Zihin, sonsuz sayıda soyutlama ile uğraşır, Ø Ve bu soyutlamalarla elde edilen genellemeler birer kategori oluşturur, Ø Soyutlamayı yönlendiren ilgi alanları ya da kriterler çerçevesinde kategori oluşturmaya sınıflandırma (classifica-on) denir. Ø Böylece nesneler, olgular, duygular vs. hepsi belli sınıflara ait hale gelirler. Ø Sınıflar, kavramsal genellemeleri, nesneler ise sınıfların gerçeklikte var olan örneklerini oluşturur. 14
15 Sınıflandırma Örneği Natural Objects Plant Animal Mineral Mammal Fish Bird Reptile Amphibian Insect Dog Cow Monkey... 15
16 Sınıf ve Nesne Ø Konuşmalarımızda "Köpek dediğin sadık olmalı." ya da "Köpekler çok sadık hayvanlardır." diyorsak, komşunun köpeğinden ya da sokakta az önce karşılaşrğımız köpekten değil de kavramsal olarak köpek sını3ndan bahsediyoruz demekar ve söylediklerimiz, var olmuş ve olacak bütün köpekler için geçerlidir. Ø "Komşunun köpeği çok sadık." dediğimizde ise köpek sınıonın bir örneği ya da nesnesi olan, soyut olmayıp somut olan bir canlıdan bahsediyoruz demekar. Ø İlk durumda "köpek" bir sınıo, "komşunun köpeği nde ise köpek bir nesneyi (object ya da instance) temsil eder. 16
17 Soyutlama ve Programlama Ø Peki bütün bunların yazılım ve programlamayla ne alakası var? Ø Yazılım gelişarme ve programlama da bir dizi soyutlamayı içerir. Ø Programlama dilleri de birer soyutlamadır haia modeldir: Ø Değişkenler ve veri Apleri Ø Operatörler ve kontrol yapıları Ø Fonksiyonlar Ø Sınıflar, modüller vs. 17
18 Bilgisayarda Soyutlamalar 18
19 Programlama Dilleri ve Soyutlama 19
20 Yazılım Mühendisliği ve Modelleri 20
21 Yazılım Mühendisliği ve Modeller Ø Çok basit olanlar dışında hemen hiç bir iş problemi, problemi ifade eden kişinin ağzından çıkar çıkmaz programlanıp, bir yazılım haline gearilemez. Ø Dolayısıyla yazılım gelişarme sürecinde, ihayacın alınmasından gerçekleşarilmesine kadar geçen süreçte pek çok modelin kurgulaması, karmaşık yazılımları gelişarilebilir kılar. Ø Ancak bu modeller yardımıyla karmaşık ihayaçları ve yazılmları basitleşarir ve anlaşılır hale geaririz. 21
22 Yazılım Mühendisliği Modelleri Ø Yazlım gelişarme süreci en temelde üç modelden oluşur: Ø Analiz (Analysis): Bu ihayacın modelidir. Ø Tasarım (Design): Bu ihayacın çözümünün modelidir. Ø Gerçekleş-rme (Implementa-on): Bu da çalışan modeldir. Ø Analiz modeli, ihayacın ne olduğunu anlamaya yönelikar. Ø Tasarım modeli, ihayacın nasıl yerine gearileceğini ortaya koyar. Mimari tasarım da bu modelin içindedir. Ø GerçekleşArme de, analizde detaylandırılan ihayaçların tasarımda ortaya konan çözüm modelini bir programlama dili ile kodlanır. 22
23 Modeller 23
24 Modellemenin Zorlukları Ø Sınırı yoktur, sonsuz sayıda ve derinlikte modeller oluşturulabilir. Ø Detay miktarı, amaç ve imkanlarla belirlenir. Ø Mutlak doğru model ancak gerçekliğin kendisidir. Ø Doğruluk ya da yanlışlık, ancak gerçekliğe uygunlukla ölçülebilir, Ø Gerekli özellikleri alıp gereksizleri bırakmak, soyutlamanın dolayısıyla da modelin doğruluğunu belirler. Ø Modellerin tesani yapmak zordur. Ø En iyi test, yazılımın müşteriyi ne kadar memnun eeğidir. 24
25 Başarılı Yazılım Ø En iyi, başarılı yazılım, ihayaçlarını tam ve doğru olarak yerine gearendir. Ø Bu sebeple doğru modeller için modellenen iş alanı çok iyi bilinmeli ve doğru soyutlamalar yapılmalıdır. Ø Bu bilgi, tecrübe, yararcılık ve yoğun ve sağlıklı bir ileaşim gerekarir. Ø Ayrıca yazılım gelişarmenin prensipleri, yazılım modelleri de iyi bilinmeli ve uygulanmalıdır. 25
26 Sınıf ve Nesne 26
27 Nesne (Object) Ø Nesne, insan zihninin algıladığı herhangi bir kavramsal ya da fiziksel şeydir: Ø Öğrenciler, derslere devam ediyorlar. Ø Öğretmen, sınısa öğrencileri dinliyor. Ø Dersler yarın başlıyor. Ø Nesnelerin özellikleri vardır ve bu özellikler, nesnelerin durumlarını (state) ve davranışlarını (behavior) ifade eder: Ø Sarı boyalı sınısa öğrenci şiir okuyor. Ø Kırmızı top suya yuvarlandı. 27
28 Sınıf I Ø Sınıf, benzer nesnelerin kategorisidir. Ø Sınıf, nesneler için bir kalıprr, şablondur, yani kendisinden ürealecek olan nesnelerin sahip olacağı özellikler ile davranışları tarif eder. Ø Sınıf, nesnelerinin özellikleri değişik Aplerde değişkenlerle ya da bir başka deyişle veri yapılarıyla (data structures), davranışlarını ise metotlarla (method) (fonksiyon (funcaon)/prosedür (procedure)) ifade eder. Ø Nesnenin özelliklerinin bütününe durum (state), metotların bütününe de arayüz (interface) denir. 28
29 Sınıf II Ø Böylece, aynı sınısan ürealen nesneler aynı Apte olurlar, yani: Ø Aynı özelliklere sahipar ama özelliklerin değerleri değişebilir, Ø Aynı davranışlara sahipar, Ø Davranışlar genelde duruma bağlı olduğundan, farklı durumdaki nesnelerin davranışları da farklı olur. 29
30 Yazılımın Nesnesi Ø Yazılımın nesnesi ise gerçek dünyadaki, kavramsal ya da fiziksel, bir nesneyi temsil etmek üzere, onun özelliklerini ve davranışlarını ifade eden yapıdır: Ø Yazılımın nesnesi, temsil eeği gerçek dünyadaki nesnenin durumunu, sınıonda tanımlanan değişkenlerle, davranışlarını da metotlarla yerine gearir. Ø Yani nesne, sınıonın ifade eeği soyut yapının hayat bulmuş, gerçekleşmiş halidir. 30
31 Durum Ø Nesnelerin durumu ile daha çok durağan (staac), görülen ve hissedilen, özellikleri kastedilir ve programlama dillerinde farklı Aplerde bir grup değişken ile ifade edilir. Ø Nesnenin durumunu oluşturan her bir ayrık bilgiye ise özellik (afribute) denir: Ø Öğrenci Ø No, isim, soy isim, doğum tarihi, cinsiyet, adres, bölüm, aldığı dersler, vs. Ø Ders Ø No, isim, bölüm, veren kişi, kredi sayısı, vs. 31
32 Davranış Ø Nesneler davranırlar, hareket ederler, belli işleri yerine gearirler. Ø Yazılım nesnelerinin davranışlarına, yerine geardiği sorumluluk (responsibility), verdiği hizmet (service) ya da aldığı mesaj (message) olarak bakmak, işimizi kolaylaşrrır: Ø Öğrenci Ø Kayıt olur Ø Ders alır Ø Sınava girer, vs. Ø Ders Ø Öğrencinin kaydolmasına/bırakmasına izin verir Ø Ön şart dersleri hakkında bilgi verir, vs. 32
33 Mesajlaşma Ø Bir nesne şu 4 şekilden biri ile bir sorumluluk yerine gearir: Ø Nesne, kendi durumu hakkında bilgi verir, Ø Nesne, kendi durumunu değişarir, Ø Nesne, bir işi ya da faaliyea yerine gearir ve zorunlu olmamakla birlikte bu faaliyet sonucunda bize birşeyler geri verir, Ø Nesne, bizim ondan istediğimizi, bir başka nesneye havale eder: Ø Havale edilen nesne bu sefer yukarıdaki 3 durumdan birisiyle istenileni yerine gearir. Ø Nesnelerin birbirlerinden bir sorumluluk/hizmet yerine gearmesini istemeye mesajlaşma (messaging) denir. 33
34 Nesne- Merkezli Yazılım Ø Nesne- merkezli yazılım sistemi ise, birbirleriyle mesajlaşan ve bu şekilde iş süreçlerini yerine gearen bir grup nesneden başka birşey değildir. Ø Nesneler, yazılım sisteminin yerine geareceği sorumlulukları paylaşırlar öyle ki her bir nesne, temsil eeği kavramla ilgili sorumlulukları yerine gearir. 34
35 Nesne Sorumluluk İlişkisi I Ø Bir nesne- merkezli yazılım gelişarirken önemli olan, yazılım sisteminin sorumluluklarından yola çıkarak hangi nesnelerin bulunacağı ve sorumlulukların bu nesnelere nasıl dağırlacağıdır. Ø Prosedürel programlamada, nesne kavramı olmadığı için, birbiriyle ilişkili sorumlulukları, fonksiyonlar halinde, olabildiğince birbirlerine yakın olacak şekilde, örneğin aynı dosyaya koymayı tercih ederiz. Ø Bu ise yazılımın daha rahat modellenmesi ve gelişarilmesiyle ilgili pek de önemli bir avantaj sağlamaz. 35
36 Nesne Sorumluluk İlişkisi II Ø Sağlıklı yazılımlar oluşturmak açısından, sorumlulukları nesnelerle ilişkilendirirken şu iki temel özelliği göz önüne almamız gerekmektedir: Ø İç tutarlılığı yüksek (highly- cohesive) nesneler: Nesne, sadece ve sadece tek bir şeyi soyutlamalı, birden fazla şeyi ile ilgili sorumlulukları bir araya gearmemeli, Ø Bağımlılıkları düşük (lowly- coupled) nesneler: Nesne, üzerine düşen sorumlulukları yerine gearirken, diğer nesnelere olan ihayacı/bağımlılığı olabildiğince az olmalı. Ø İç tutarlılığı düşük nesneler, birden fazla konuyla alakalı sorumluluklara sahip olurlar ve genelde bağımlılıkları da bu yüzden yüksek olur. 36
37 Yazılım ve Değişim Ø İç tutarlılığı yüksek ve bağımlılıkları az olan nesnelerden oluşan yazılımların, Ø Modellenmeleri, Ø Kodlanmaları, Ø Test edilmeleri, Ø Hatalarının ayıklanması (bug fix) ve Ø herhangi bir sebepten dolayı değişmeleri daha rahat olur Ø Unutmayalım ki yazılımların maliyetlerinin büyük kısmı bakımda harcanmaktadır, gelişarmede değil. 37
38 Sınıf Tanımlama ve Kod Yapısı 38
39 Java da Sınıf Tanımlama I Ø Java da sınıf tanımlamak için class anahtar kelimesi kullanılır: <niteleyici>* class <Sınıfİsmi>{ <özellik>* <metot>* } Ø Sınıon tanımı, Java da en geniş blok olan sınıf blokuyla yapılır. Ø Sınıon bir ya da daha fazla niteleyicisi (modifier) olabilir. Ø Sınıon geçerli ve anlamlı bir ismi olmalıdır. 39
40 Java da Sınıf Tanımlama II Ø Zorunlu olmamakla birlikte sınıon öğeleri, özellikler, kurucular ve metotlar olarak sıralanır. Ø Özellikler farklı Aplerde olan nesne değişkenleridir (instance variables). Ø Metotlar ise nesne fonksiyonlarıdır (instance methods). Ø Kurucu ya da yapılandırıcı (constructor), nesne yararrken çağrılan özel bir Ap metoiur. <niteleyici>* class <Sınıfİsmi>{ <özellik>* <kurucu metot>* <metot>* } 40
41 Özellik Tanımı Ø Sınısa özellikle şöyle tanımlanır: <niteleyici>* <tip> <değişkenismi> = [ilk değer] Ø Değişkenler için bir grup niteleyici vardır, Ø Java da her değişkenin bir Api olmak zorundadır, Ø Değişkenlere geçerli ve anlamlı bir isim verilmelidir, Ø Değişkene, isteğe bağlı olarak, ilk değer de verilebilir. 41
42 Metot Tanımı Ø Sınısa metot şöyle tanımlanır: <niteleyici>* <dönüş tipi> <metotismi>(<arguman>*){ <ifade>* } Ø Zorunlu olmamakla birlikte metotlar da farklı niteleyiciler alır, Ø Metotlar, zorunlu olmamakla birlikte, dışarıdan argümanlar alır, bu argümanları, ifadeleri ile işler yani bir iş manrğını yerine gearir ve yine zorunlu olmamakla birlikte, çağrıldıkları ortama bilgi geri döndürürler, Ø Dolayısıyla metota geçilen ve metoian dönen bilgi, metotun çağrıldığı ortam ile metot arasındaki ileaşimin öğelerindendir. 42
43 Java Kaynak Kodunun Yapısı Ø Sınıon bütün öğeleri sınıf bloku içinde tanımlanır, Ø Sınıon, sadece paket (package) bilgisi ile koduna dahil edeceği (import) diğer yapıların ifadeleri sınıf dışında tanımlanır. Ø En yaygın sınıf niteleyicisi public Ar ve sınıfa her yerden erişilebileceğini ifade eder. Ø Her public sınıf (arayüz ya da enum), kendi ismini taşıyan ve.java uzanrsına sahip olan bir dosyada yer almalıdır. Ø Dolayısıyla her.java kaynak kodu dosyasında en fazla bir tane public sınıf olabilir. 43
44 <package cümlesi> <import cümlesi>* public class <Sınıfİsmi-1>{... } class <Sınıfİsmi-2>{... } class <Sınıfİsmi-n>{... } 44
45 Nesne Yaratma Ø Java da nesne yaratmak için new anahtar kelimesi kullanılır, Ø new den sonra da kurucu metot çağrısı gelmelidir, Ø YaraRlan nesneyi, kendisine ulaşmakta kullanılacak olan bir referansa atamak gereklidir. Ø Bunların hepsini bir sarrda yapabiliriz: Student studentobject = new Student(); Ø Yukarıdaki sarrda, atamanın sağ taraonda oluşturulan nesne, sol taraondaki Student Apinden olan studentobject isimli bir referansa atanmaktadır. 45
46 Araba Ø Bir "Araba" soyutlaması yapın. Ø Soyutlamada bulunması gereken davranışlar nelerdir? Ø Gitmek Ø Durmak Ø Hızlanmak Ø vs. Ø Soyutlamada bulunması gereken durum bilgileri nelerdir? Ø Marka Ø Model Ø Yıl Ø Hız 46
47 public class Car { String make; String model; String year; int speed; int distance; } public void go(int newdistance){ distance += newdistance; } public void accelerate(int newspeed){ speed = newspeed; } public void stop(){ speed = 0; } public String getinfo(){ return "Car Info: " + year + " " + make +...; } 47
48 Main Metot Ø Java da pek çok sınıonız olsa bile en az bir tanesi main isimli özel bir metota sahip olmalıdır. Ø main metota sahip olan sınıf JVM e geçilerek çalışrrılabilir. Ø main metot, sistemin çalışmaya başladığı yerdir. Ø Nerede tanımlandığının pek önemi yoktur. Ø Dolayısıyla diğer sınıfların nesneleri bu metoia oluşturulur ve üzerindeki metotlar burada çağrılarak sistem çalışmaya başlar. Ø main metotun arayüzü (interface) aşağıdaki gibidir: public static void main(string[] args) 48
49 Test Sınıo Ø Şimdi de oluşturduğumuz sınıon, test ya da istemci (client) sınıonı oluşturup, main metot içerisinde bir kaç tane araba nesnesi yararn. Ø Daha sonra bu nesnenin durumunu değişarin ve üzerindeki metotları çağırın. Ø YaraRlan nesne üzerindeki değişken ve metotlara "." notasyonuyla ulaşılır: Car arabam = new Car(); int hiz = arabam.speed; arabam.go(50); 49
50 public class CarTest { public static void main(string[] args) { Car car1 = new Car(); car1.make = "Mercedes"; car1.model = "C200"; car1.year = "2011"; car1.distance = 0; car1.speed = 0; } } String infocar1 = car1.getinfo(); System.out.println(infoCar1); car1.accelerate(80); car1.go(10); infocar1 = car1.getinfo(); System.out.println(infoCar1); car1.accelerate(120); car1.go(20); infocar1 = car1.getinfo(); System.out.println(infoCar1); 50
51 Diğer Soyutlamalar Ø Aşağıdaki açılardan bakrğınızda soyutlamanızda neler değişir? Ø Sürücü Ø Akaryakıt kullanımı, maksimum hız Ø SaRcı Ø FiyaR Ø Araba tasarımcısı Ø Üstü açılabilir mi? Ø Tamirci Ø Motor özellikleri Ø Sigortacı Ø Nerede ve kim kullanıyor, hasarı var mı? 51
52 Özet Ø Bu bölümde nesne merkezli programlamaya giriş yaprk. Ø Bu amaçla, Ø Soyutlama, Ø Ne lik ve nasıl lık ayırımı, Ø Sınıf ve nesne kavramlarını, Ø Nesnenin durumu ve davranışlarını Ø Model kavramını ve Yazılım Mühendisliği modellerini, Ø Java kaynak kodunun yapısını işledik. 52
www.javaturk.org Akın Kaldıroğlu www.javaturk.org Java ile Nesne Merkezli Programlama
Akın Kaldıroğlu Java ile Nesne Merkezli Programlama Ocak 2014 Küçük Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eği>m malzemelerinin tüm hakkı Akın Kaldıroğlu na aier. Ø Bu eği>m malzemelerini
Detaylı3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu
Java ile Nesne Merkezli ve Fonksiyonel Programlama 3. Bölüm Soyut Sınıflar (Abstract Classes) Akın Kaldıroğlu Kasım 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim
DetaylıÖnemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();
DetaylıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
Detaylı5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi
5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını
DetaylıJAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ
JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra
DetaylıGörsel Programlama DERS 02. Görsel Programlama - Ders02/ 1
Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
DetaylıNesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.
Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir
Detaylı5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu
Java ile Nesne Merkezli ve Fonksiyonel Programlama 5. Bölüm Alt Sınıflar (Nested Classes) Akın Kaldıroğlu Ocak 2017 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim malzemelerinin
DetaylıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri
DetaylıBİL-141 Bilgisayar Programlama I (Java)
1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıJava da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )
Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts
DetaylıANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;
DetaylıPROGRAMLAMAYA GİRİŞ FONKSİYONLAR
PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
DetaylıArayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.
Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir
DetaylıJava C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.
Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.
DetaylıMAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101
DetaylıJava String İşlemleri
Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz
DetaylıKlavyeden Basit Giriş/Çıkış İşlemleri
Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı
Detaylı/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/
Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void
DetaylıFacade (Cephe) Tasarım Şablonu KurumsalJava.com
Facade (Cephe) Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Profesyonel yazılım sistemleri birçok komponentin birleşiminden oluşur. Yazılım esnasında bir çok
DetaylıBölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1
Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli
Detaylı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 6 Kalıtım (Inheritance) - I Bu bölümde;
DetaylıMAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 8: Sınıf (Class) Yapılarına Giriş
MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 8: Sınıf (Class) Yapılarına Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=107
DetaylıNesne Tabanlı Programlama. Ders Notları
Nesne Tabanlı Programlama Ders Notları Nesneye tabanlı programlamanın temellerini kavrayabilme Java temelleri ve Netbeans editörünü kavrayabilme Sınıf ve nesne kavramlarını anlayabilme Kalıtım konusunu
DetaylıLambda İfadeleri (Lambda Expressions)
Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki
Detaylıpublic static int Toplam int x, int y
static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.
DetaylıBMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI
BİR BOYUTLU DİZİLER Amaçlar: 1. 1 BOYUTLU DİZİLERİ TANIMLAMAK 2. 1 BOYUTLU DİZİ UYGULAMALARI YAPMAK Örnek 5-1 Aşağıdaki program öğrenci notlarını bularak en iyi notu hesaplar. Harf notu şu şekilde hesaplanır:
DetaylıJava ile Nesneye Yönelik Programlama (Object Oriented Programming)
Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 9: Sınıf İçerik Sınıf Tanımı Nesne Tanımı İkili Kapsam Çözme Operatörü UML ile Sınıfların Gösterimi 2 Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur.
DetaylıBMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama
BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse
Detaylıabstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;
abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance
DetaylıBTEP243 Ders 3. class Yazım Kuralı:
BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin
DetaylıLecture 11: Generics
BLM202E Data Structures Lecture 11: Generics Bilgisayar Mühendisliği Bölümü Öğr. Gör. Musa AYDIN 2014 2015 (Bahar) BLM202E Data Structures - 2015 Spring Java programlama dilinin güçlü özelliklerinden biri
DetaylıBölüm 9. Altprogramlar ISBN
Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda
DetaylıBMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ
Amaçlar: 1- Arayüzler (Interfaces) 2- Soyut Sınıflar ve Metotlar(Abstract classes and methods) Uygulama-1: interface:cihaz ac() kapat() goster(string) class: TV class: LCD class: Projector... Cihaz adındaki
DetaylıNESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM
NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 7 Abstract (Soyut Sınıflar) Bu bölümde;
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu
DetaylıWEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu
WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu
DetaylıGenel Programlama II
Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri
DetaylıMALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI
MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI 2011 2012 Güz Yarıyılı Java Programlama YZM 363 5 AKTS 4. yıl 7 yarıyıl Lisans Seçmeli 3 s/hafta 3 kredi Teorik: 3 s/hafta
DetaylıDers 8 Konu Özeti ve Problemler
Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu
DetaylıJava ile Nesne Merkezli ve Fonksiyonel Programlama
Java ile Nesne Merkezli ve Fonksiyonel Programlama 1. Bölüm Nesne-Merkezli Programlamaya Giriş: Sınıflar, Nesneler ve Tekrar Kullanım Akın Kaldıroğlu Kasım 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve
Detaylıİçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.
İçerik Geçen ders: Kalıtım ( inheritance ) Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı
DetaylıJAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN
JAVADA METOTLAR BMÜ-111 Algoritma ve Programlama Yrd. Doç. Dr. İlhan AYDIN 1 Açık problem Amacımız sırasıyla 1 den 10, 10 dan 20 ye ve 35 ten 45 e kadarki sayıların toplamını bulmak olsun. Ne yapmak gerekir?
DetaylıBMH-303 Nesneye Yönelik Programlama
BMH-303 Nesneye Yönelik Programlama Kurucu metotlar (constructors) ve statik deyimi Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği Kurucu Metotlar (Constructors) Kurucu metot çeşitleri Varsayılan
DetaylıLab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;
BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt
DetaylıJava da İstemci Tarafı Uygulamalar
Java da İstemci Tarafı Uygulamalar ( Applets ) BBS-515 Nesneye Yönelik Programlama Ders #7 (7 Aralık 2009) İçerikç Geçen ders: Java da dizi ( array ) ve dizgi ( String ) tanımlama Örnekler Bu ders: 1.
DetaylıSınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar
Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar
DetaylıProgramlama Dillerinde Kullanılan Veri Tipleri
Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
DetaylıJava Programlamada Paket Yapısı Ve Import
Java programlamada paket yapısı ve import Java Programlamada Paket yapısı ve Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka
DetaylıALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Yapılar ve Birlikler enum Deyimi
DetaylıÖğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1
Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte
Detaylıİsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1
İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:
DetaylıEclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2
1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)
DetaylıDATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR
DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi. (10 dk.) Örnek2
DetaylıBLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)
1 BLM 112- Programlama Dilleri II Hafta 4 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan İyilik insanları birbirine bağlayan altın zincirdir. ~Goethe Hafıza Yapısı 2 Bir değişken tanımlandığında arka
DetaylıJava 2 Standart Edition SDK Kurulum ve Java ya Giriş
Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin
DetaylıBigisayar Programlama
Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :
DetaylıHafta 13 Fonksiyonlar
BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.
Detaylıİsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI
BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya
DetaylıProgramlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler
Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin
DetaylıKapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama
Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) İçerik Geçen ders: Kalıtım ( inheritance ) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı
DetaylıJava da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:
BÖLÜM 4 Değişken Tipleri Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir: type identifier [ = value][, identifier [=
DetaylıDATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR
DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama Doç. Dr. Aybars UĞUR İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi.
DetaylıNesne Tabanlı Programlama
Nesne Tabanlı Programlama Ders Notu - 3 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Sınıflar ve Fonksiyonlar Tekrar kullanılabilir kodlar 1 Nesne Tabanlı Tasarım
DetaylıBire-bir Sahiplik İlişkisi ile İlgili Sorular:
Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Soru 1: Bir füzenin kilometre cinsinden menzili ve kilogram cinsinden ağırlığı mevcuttur. Bir füze ya kara hedefleri ya da hava hedefler için tasarlanır.
DetaylıJAVA API v2.0 Belge sürümü: 2.0.2
JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...
DetaylıBMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler
BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin
DetaylıJava Class Yapısında Finalize Metotunun Kullanımı
Java'da finalize() Metodu: Java dili kullanılmayan nesneleri silmek için arka planda çalışan bir sisteme sahiptir. Bu yüzden C++ gibi dillerde dinamik nesne tanımlarında mutlaka yer alması gereken nesneyi
DetaylıNesne Yönelimli Programlama
Nesne Yönelimli Programlama Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M. Erten, O. Ergin kitabı kullanılarak hazırlanmıştır. Konular Giriş Alt Sınıflar
DetaylıYrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Hafıza Yapısı Bir değişken tanımlandığında arka planda bilgisayarın hafızasında bir konuma yerleştirilir. Hafıza küçük hücrelerden oluşmuş bir blok olarak düşünülebilir. Bir değişken
DetaylıDekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili
Prolog Programlarının özellikleri: PROgrammig in LOGic Semboller üzerinde çalışma Problemlerin çözümünü tanımlama yerine çıkarım yapma Doğal ğ dille düşünülen ş şeylerin y kodlanması kolay Gerçekler ve
DetaylıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
DetaylıJava Kodunuzun Nesne-Merkezli Olmadığının 10 İşareti
Java Kodunuzun Nesne-Merkezli Olmadığının 10 İşareti Akın Kaldıroğlu akin@javaturk.org! 27 Haziran 2014 1 Akın Kaldıroğlu Kimdir? Akın Kaldıroğlu, Ayvalık lıdır ve 1968 yılında doğmuştur. 1990 İTÜ mezunudur.
DetaylıKUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR
KUYRUKLAR QUEUES Doç. Dr. Aybars UĞUR Giriş Bu bölümde gerçek yaşamdaki kuyrukların bilgisayardaki gösterimleri üzerinde durulacaktır. Kuyruklar, eleman eklemelerin sondan (rear) ve eleman çıkarmaların
DetaylıYazılım Kodlama ve İ simlendirme Standartları v1.0
Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.
Detaylıwhile(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO
while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )
DetaylıNESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ
NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ KALITIM Kalıtım Biribiri ile bağlantılı bir grup öğenin ortak özelliklerini tanımlayan genel bir sınıf tanımlanabilir Bu sınıf daha sonra diğer özel sınıflara
DetaylıBLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı
DetaylıYazılım Mühendisliği 1
Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar
DetaylıJava Dersi. Altuğ Bilgin Altıntaş
Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama
DetaylıMerge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.
Merge (Bireşim) Her biri kendi içinde artan yönde sıralanmış ve aynı veri tipinden olan a ve b dizileri (array) verilsin. Bu iki diziyi birleştirip sıralı bir dizi yapmak istiyoruz. Tabii, birisini ötekinin
DetaylıMAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)
MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI) Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web
DetaylıJava Programlama Giriş
Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır
Detaylı4.Hafta. this Anahtar Sözcüğü
this Anahtar Sözcüğü this anahtar sözcüğü, içinde bulunulan nesneye ait bir referans döndürür; bunun sayesinde nesnelere ait global alanlara erişme fırsatı bulunur. Şöyle ki: Örnek: TarihHesaplama.java
DetaylıC# Metotlar ve Metot Tanımlama
C# Metotlar ve Metot Tanımlama Metot Kavramı : Metotlar bir program içerisinde aynı işi gerçekleştiren satırları belirli düzende sadece bir kez oluşturarak gerektiğinde tekrar tekrar kullanabilmemizi sağlayan
DetaylıProgramlama Dilleri 3
Diziler (Arrays) 1 Dizi Kavramı Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya
DetaylıNesneye Yönelik Programlama (OOP) 7.Hafta
Nesneye Yönelik Programlama (OOP) 7.Hafta Örnek : Yapılar vs Sınıflar Yapılar ve sınıflar büyük oranda benzerlik gösterirler. Yapıların sakladığı veriler her zaman public yani erişime açıktır. Sınıflarda
Detaylı