YZM 2105 Nesneye Yönelik Programlama

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "YZM 2105 Nesneye Yönelik Programlama"

Transkript

1 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

2 BÖLÜM - 4 Nesneye Yönelik Programlamaya Giriş Bu bölümde; Sınıflardan Nesne Yaratma, Metotlara Nesne Aktarımı, Properties (Özellikler) Yaratma, Auto-Implemented Properties ile ilgili konular anlatılacaktır. 2

3 Sınıflardan Nesne Yaratma 3

4 Nesne Yaratma Bir sınıfı tanımlamak tam olarak bir nesne yaratmak anlamına gelmemektedir. Sınıf sadece kendisinden yaratılacak bir nesnenin nasıl bir şey olacağının soyut açıklamasıdır. Oluşturmak istediğiniz bir varlığın tüm özelliklerini önceden belirlediğinizde, nesne yaratmadan önce bir sınıfın, fieldlarını ve metotlarını yaratmalısınız. 4

5 Nesne Yaratma (devam ) Sınıf tanımlamasını, yeni bir ev yaratmak için evin ayrıntılı bir planı olarak ya da kek yapmak için gerekli olan kek tarifi olarak da düşünebilirsiniz. Sınıflar oluşturulacak olan herhangi bir nesnenin ayrıntılı bir planıdır. 5

6 Nesne Yaratma (devam ) Bir nesneyi yaratmak iki aşamadan oluşur. İlk olarak bir değişken tanımlar gibi bir tip ve bir tanımlayıcı atamalısınız. Sonrasında nesneyi yaratabilirsiniz. Örneğin; int veri tipinde ornekdeger değişkenini int ornekdeger; şeklinde tanımlayabildiğimiz gibi Isci nesnesini de, Isci benimasistanim; şeklinde yaratabiliriz. Yaratılan nesne uygun bir ada sahip olmalıdır. 6

7 Nesne Yaratma (devam ) Isci sınıfından benimasistanim adında bir nesne oluşturduğumuzda, derleyiciye benimasistanim adını kullanacağımız bildirilir. Fakat henüz bellekte benimasistanim nesnesinin barındırdığı değerler için bellekte bir yer tutulmamıştır. Gereken bellek yerini «rezerve/allocate» etmek nesneyi new operatörünü kullanarak yaratmamız gereklidir. 7

8 Nesne Yaratma (devam ) benimasistanim adındaki Isci nesnesini iki aşamada yaratırız. Öncelikle nesne için bir referans tanımlamalı, sonrasında new operatörü ile derleyicinin benimasistanim nesnesi için yeterli alanı tahsis etmesini sağlarız. Isci benimasistanim; benimasistanim = new Isci(); Aynı satırda iki işlemi de tanımlayabiliriz: Isci benimasistanim = new Isci(); 8

9 Nesne Yaratma (devam ) Bu ifadede Isci: nesnenin tipi benimasistanim: nesnenin adı Eşittir işareti değeri atar, böylece değer benimasistanim nesnesine atanmış olur. new operatörü ise bellekte yeni kullanılmayan bir bölümün benimasistanim için rezerve (ing.: allocate) edilmesini sağlamaktadır. 9

10 Nesne Yaratma (devam ) Nesnelerin tanımlayıcıları, nesnelerin bellekteki adreslerinin yerlerini gösterirler. Herhangi bir sınıf referans tipi (ing.: reference type) olarak kullanılır. Diğer bir deyişle bellekteki özel bir yeri gösteren bir tip denebilir. int, double ve float gibi veri tipleri, değişkelerin değerlerini tutar; bu veri tiplerinin aksine referans tipleri bellekteki adresleri tutarlar. 10

11 Nesne Yaratma (devam ) Isci benimasistanim = new Isci(); ifadesindeki new operatöründen sonra gelen Isci() bölümü bir metot gibi gözükmektedir. Aslında bu Isci nesnesinin constructor ı başka bir deyişle kurucu metodudur. Sınıfınız için bir constructor oluşturmadığınızda, C# sizin için adı sınıfın adı ile aynı olan bir tane kurucu metot yaratır. 11

12 Nesne Yaratma (devam ) Bir nesne yaratıldığında, onun nonstatic üyeleri, nesnenin tanımlayıcısından sonra konulan bir nokta ve kullanılacak olan metodun adı şeklinde erişilir. Örnek: benimasistanim adında bir Isci nesnesi tanımladığınızda, benimasistanim nesnesinin KarsilamaMesaji metodunu şöyle kullanabiliriz: Isci benimasistanim = new Isci(); MessageBox.Show(benimAsistanim.KarsilamaMesaji); 12

13 Nesne Yaratma (devam ) KarsilamaMesaji() metodu nonstatic bir metot olduğundan dolayı kullanılabilmesi için Isci sınıfından üretilmiş bir nesne gerektirir. Sınıfı kullanan hiçbir program benimasistanim nesnesinin kimlikno değişkenine direk olarak ulaşamaz, bunun yerine bu nesnenin public metotlarını kullanarak değişkenin değerine erişebiliriz 13

14 Nesne Yaratma (devam ) Tanımladığımız nesnenin public metotları her yerden çağırılabilir ve kullanılabilir. Isci benimasistanim = new Isci(); MessageBox.Show(benimAsistanim.KarsilamaMesaji); Yukarıdaki kod bloğunu çalıştırdığımızda nesne içerisindeki değeri atanmamış fieldların başlangıç değeri 0 olarak atanır. Eğer her Isci nesnesi için farklı bir kimlikno değerinin sağlanmasını isterseniz, bunun için properties yaratmanız gerekmektedir. 14

15 Metotlara Parametre Olarak Nesne Aktarımı 15

16 Metotlara Parametre olarak Nesne Aktarımı Bir metoda nesne aktardığımızda aslında o metoda bir referans aktarmış oluruz (call-by-reference). Böylece nesne parametresinde yapılan herhangi bir değişiklik, çağırıldığı metottaki nesneyi de etkiler. 16

17 Örnek1: IsciBilgileriniGoster() Metoduna Nesne Aktarımı Isci sınıfından, ilkisci ve ikinciisci adında iki nesne oluşturup bu nesneleri IsciBilgileriniGoster metoduna aktarınız. IsciBilgileriniGoster metodunun prototipi şu şekildedir: internal static void IsciBilgileriniGoster(string komut, Isci isc) { MessageBox.Show("" + komut + " için giriş yapıldı!"); MessageBox.Show( isc.karsilamamesaji()); } 17

18 Metotlara Parametre olarak Nesne Aktarımı (devam ) Nesnelerin aktarıldığı metotlar nesnelerin yaratıldığı sınıfla aynı veya daha kısıtlı bir erişime sahip olmalıdır. public Isci sınıfından türetilmiş isc nesnesinin aktarıldığı IsciBilgileriniGoster metodunun aynı veya daha az erişime açık olan internal erişim belirleyicisine sahip olması buna örnek gösterilebilir. Bu kısıtlama, Isci sınıfının public olmayan üyelerinin korunmasını sağlar. 18

19 Properties 19

20 Properties Yaratmak Sıklıkla, bir nesne ile çağırılan metotlar, o nesnenin fieldlarının durumunu değiştirmek için kullanılır. Örneğin: Isci sınıfı içerisinde, işçinin kimlikno bilgisini ayarlayan ya da değiştiren bir metot yazabilirsiniz. İfade şu şekilde olmalıdır: public void kimliknoayarla(int no) { } kimlikno = no; 20

21 Properties Yaratmak (devam ) Daha sonra Isci sınıfından benimasistanim adında bir nesne yarattığınızda bu metodu aşağıdaki gibi çağırabilirsiniz: benimasistanim.kimliknoayarla(21); Bu teknik farklı dillerde de bu şekilde kullanılabilir fakat C# ta programlarken benzer işlemler için properties ler kullanılır. 21

22 Properties Yaratmak (devam ) Property, sınıfın bir fieldına erişim sağlayan bir sınıf üyesidir. Propertyler field ların nasıl ayarlanacağını ve erişimin nasıl olacağını tanımlar. Properties, private field ları ile public metotlar arasındaki en iyi özellikleri bir arada barındırır. Public metotlar gibi private verileri dışarıdan müdahalelere karşı korur, Field lar gibi adları basit değişken adlarının kullanıldığı gibi kullanılır. Properties yarattığınızda, kullandığınız sözdizimi daha kolay anlaşılabilir ve doğal olur. 22

23 Properties Yaratmak (devam ) C# programcıları properties ları smart fields olarak adlandırırlar. Propertyler, sınıfın field ına erişildiğinde işleme alınacak olan ifadeleri barındıran erişimcilere sahiptir. Özellikle propertyler nesnenin fieldının değerini ayarlamaya yarayan set erişimcilerine ve saklanan verilerin değerlerine erişimini sağlayan get erişimcilerini içerirler. 23

24 Properties Yaratmak (devam ) Bir property, set erişimcisine sahipse yazılabilir, get erişimcisine sahipse okunabilir olmaktadır. Bir property sadece get erişimcisine sahipse bu property sadece okunabilir (ing.: read-only) olur. C# ta get ve set erişimcilerini genellikle getter ve setter olarak adlandırılırlar. 24

25 Örnek2: Isci Sınıfına Properties Tanımlanması kimlikno üye değişkenine erişimi sağlayan KimlikNo propertysini tanımlayınız. Tanımladığınız KimlikNo propertysini kullanan KarsilamaMesaji() metodunu tanımlayınız. Isci kimlikno: (int) KimlikNo: (int) public string KarsilamaMesaji() 25

26 Örnek2: Isci Sınıfına Properties Tanımlanması (devam ) 26

27 Properties Yaratmak (devam ) Property tanımlanmasında değişken tanımlanmasına benzer bir şekilde; erişim belirleyici, veri tipi ve tanımlayıcı(ad) içermektedir. Ayrıca kıvırcık parantezler içerisinde tanımlanan ifadeleri barındıran bir metot içerir. Property ismi kullandığı field in isminin baş harfi büyük hali olarak tanımlanır.(örn.: kimlikno üye değişkeni için KimlikNo propertiesi gibi.) Property tanımlayıcısından sonra, küme parantezi içerisinde erişimciler (get ve set) tanımlanır. 27

28 Properties Yaratmak (devam ) Propertylerin yazımındaki büyük ve küçük harflere dikkat edilmelidir. KimlikNo property sinde get erişimcisinin içerisinde geriye döndürülen kimlikno olmalıdır. Eğer get erişimcisinin içerisinde property nin kendisini (yani KimlikNo) döndürürseniz property sonsuz kez kendisine erişmeye çalışacaktır. 28

29 Properties Yaratmak (devam ) Yazılımcılar sınıfın bir metodunun, aynı sınıfın field ınımı yoksa property sinimi kullanması gerektiği hakkında farklı fikirlere sahiptirler. Genel kanı ise get ve set erişimcilerinin iyi bir şekilde tasarlandığında, her yerde (Sınıfların içerisinde bile) kullanılabilir olduğudur. 29

30 Properties Yaratmak (devam ) Özel koşullarda keyword gibi davranan tanımlayıcılara contextual keywords denir. C# ta 6 adet contextual words bulunur: get, set, value, partial, where, yield 30

31 Properties Yaratmak (devam ) Erişimciler(get ve set) metot gibi görünebilir fakat metotlardaki gibi tanımlayıcılarının yanında parantez () bulunmaz. set erişimcisi, parametre alan ve bunu değişkene atayan bir metot gibi davranır. Fakat set erişimcisi bir metot değildir ve beraberinde bir parantez ile kullanılmaz. get erişimcisi ise property ile ilişkilendirilmiş field ın değerini geriye döndürür. 31

32 Properties Yaratmak (devam ) Bir propertynin set ve get erişimcilerinden faydalanırken set ve get anahtar kelimelerini ayrıca kullanmamıza gerek yoktur. İşlem yapacağımız propertye eşittir operatörü = ile değer atadığımızda set bloğu işleme alınmaktadır. Propertiesin adını kullanarak eriştiğimizde ise get bloğu işleme alınır. 32

33 Properties Yaratmak (devam ) Örneğin, benimustam adındaki Isci sınıfından türetilmiş bir nesne tanımladığımızda, KimlikNo properties inin değerini aşağıdaki gibi atarız: Isci benimustam = new Isci(); benimustam.kimlikno = 113; İkinci ifadede, KimlikNo property sinin değeri 113 olarak ayarlanmış olur. Eşitliğin sağındaki değer property nin set erişimcisine implicit parametre olarak gönderilmiştir. 33

34 Properties Yaratmak (devam ) 113 değeri set bloğuna aktarılmış ve set erişimcisinde value adını almıştır. Set erişimcisinin içerisinde de value değeri sınıf field ı olan kimlikno değişkenine atanmıştır. 34

35 Properties Yaratmak (devam ) Propertyler get erişimcisi sayesinde, basit bir değişken gibi kullanılabilmektedir. Örnek: Önceden tanımlanmış olan işçinin kimlik numarası aşağıdaki gibi yazdırılabilir: Fakat benimustam.kimlikno fieldı private erişim belirleyicisine sahip olduğu için erişilemez ve ekrana yazdırılamaz. 35

36 Properties Yaratmak (devam ) Önceki örneklerde get ve set erişimcileri, field ın bir değerini döndürme veya değeri field a atama dışında bir işlem yapmamaktadır. Eğer kullanılan field private yerine public olarak tanımlansaydı property kullanmamıza gerek kalmazdı. Fakat bu yöntem (Sınıfın fieldlarını private, onlara erişmeyi sağlayan metotları public tanımlanması), nesneye yönelik programlamanın tutarlı olması için genel olarak kullanılmaktadır. 36

37 Properties Yaratmak (devam ) Veriyi saklı tutmak ve aynı zamanda verinin değerlerinin nasıl ayarlandığını ve kullandığını kontrol edebilmek, Nesneye Yönelik Programlamanın çok önemli bir özelliğidir. Erişimciler, sınıfın bazı fieldlarının değerlerinin nasıl döndürüleceğine veya fieldlara nasıl erişileceğine dair kısıtlamalar koyarak düzenlenebilir. 37

38 Properties Yaratmak (devam ) Örnek: Kimlik numarasının değer aralığını belirleyen bir set erişimcisi aşağıdaki gibi yazılabilmektedir: set { } if (value < 100) kimlikno = value; else kimlikno = 100; Bu kod bloğunda set erişimcisi Isci sınıfının kimlikno field ının değerinin 100 den daha büyük olamayacağını kesinleştiren bir kısıtlama koyar. 38

39 Properties Yaratmak (devam ) Eğer kimlikno değişkeninde direkt olarak erişip, değer ataması yapılmasına izin verilseydi, atanan değerin kontrolü yapılamazdı. Tanımlanan sınıf için bir set erişimcisi kullandığınızda, izin verilen verilerin değerleri üzerinde tam kontrolü elde edilmiş olunur. 39

40 Auto-Implemented Properties 40

41 Auto-Implemented Propertylerin Kullanımı Bir property içerisinde farklı şekillerde get ve set erişimcileri yaratabileceği gibi, set erişimcisini sadece verilen değeri atamasını ve get işlemcisinin sadece geriye değer döndürmesini isteyebilirsiniz. Erişimcilerin sadece bu standart işlemleri gerçekleştirmeleri istendiğinde autoimplemented propertyler kullanılır. 41

42 Örnek3: Auto-Implemented Property Yaratma Atanan değeri kimlikno fieldına aktaran ve geriye kimlikno değerini dönen KimlikNo propertysi yaratınız. 42

43 Örnek3: Auto-Implemented Property Yaratma (Devam...) KimlikNo propertysini yandaki kod bloğunda olduğu gibi, 11 satırda tanımlanmıştır. Fakat bu kodun daha kısaltılmış hali alttaki gibi olabilir. 43

44 Örnek3: Auto-Implemented Property Yaratma (Devam...) Bazı yazılımcılar bu propertyi tek satırla da yazmaktadır. C#, KimlikNo propertysinin aşağıdaki gibi yazılmasına izin vermektedir: 44

45 Auto-Implemented Propertylerin Kullanımı (devam ) public int KimlikNo{get; set;} Üstteki formatta oluşturulmuş propertylere autoimplemented property denir. İçerisinde özelleştirme yapmak istediğiniz Propertyler, auto-implemented property olarak yaratılamaz. Ayrıca get ve set erişimcilerinden herhangi birisi kullanılmayacaksa autoimplemented property olarak yaratılamaz. 45

46 Auto-Implemented Propertylerin Kullanımı (devam ) Sınıfın içerisinde bulunan propertynin kullanacağı fieldlara backing field denir. Autoimplemented property kullandığınızda backing field yaratmaya gerek yoktur. Propertynin kullanacağı field derleyici tarafından yaratılır. Örnekteki KimlikNo property si için kimlikno field ının yaratılmasına gerek yoktur. Derleyici kimlikno field ını otomatik olarak yaratır ve kullanır. 46

47 Örnek4: Isci Sınıfına Auto-Implemented Property Tanımlanması (int) KimlikNo, (double) Maas, ve (KimlikBilgisi) KimlikBilgileri autoimplemented propertylerine sahip Isci adında bir sınıf yaratınız. Not: KimlikBilgisi sınıfının özellikleri sonraki slaytta açıklanmıştır. Isci KimlikNo: (int) Maas: (double) KimlikBilgileri: (KimlikBilgisi) 47

48 Örnek4: Isci Sınıfına Auto-Implemented Property Tanımlanması(Devam...) KimlikBilgisi sınıfı, (ulong) TcKimlikNo, (string) Soyad, Ad, BabaAdi, AnneAdi, DogumYeri ve (DateTime) DogumTarihi autoimplemented propertylerine sahiptir. KimlikBilgisi TcKimlikNo: (ulong) Soyad: (string) Ad: (string) BabaAdi: (string) AnneAdi: (string) DogumYeri: (string) DogumTarihi: (DateTime) 48

49 Örnek4: Isci Sınıfına Auto-Implemented Property Tanımlanması (devam...) 49

50 Auto-Implemented Propertylerin Kullanımı (devam ) Eğer sadece okunabilir (read-only) auto implemented propertyler yaratmak istiyorsak, set erişimcisini private olarak tanımlamalıyız. Örnek: public int KimlikNo { get; private set; } Böylece KimlikNo property sine değer ataması yapılamaz. Fakat kendi sınıfındaki metotlar değer ataması yapabilirler. 50

51 Auto-Implemented Propertylerin Kullanımı (devam ) Daha az sıklıkla kullanılan, dışarıdan değeri ayarlanabilen fakat değerine erişilemeyen bir property yaratmak istersek get erişimcisi private olarak tanımlarız Örnek: public int KimlikNo { private get; set; } 51

52 public ve private Erişim Belirleyicileri Hakkında Daha Fazla 52

53 public ve private Erişim Belirleyicileri Hakkında Daha Fazla Veriyi olabildiğince saklamak (ing.:information hiding), Nesneye Yönelik Programlamanın temel prensiplerindendir. Bu yöntemde sınıf fieldları private olarak tanımlanır ve iyi bir şekilde tasarlanmış erişimciler üzerinden bu fieldlara ulaşılmaktadır. Fakat bu yöntemin dışında erişim belirleyicilerini farklı olarak kullanmamız gerekebilmektedir. 53

54 Örnek5: Hali Sınıfının Yaratılması Propertyleri (int) Uzunluk, Genislik, (read-only) Alan, (string) slogan olan ve private void AlanHesapla() metoduna sahip bir Hali sınıfı yaratınız. Hali Uzunluk: (int) Genislik: (int) Alan: [read-only] (int) slogan: (string) private void AlanHesapla() 54

55 Örnek5: Hali Sınıfının Yaratılması (devam...) 55

56 public ve private Erişim Belirleyicileri Hakkında Daha Fazla (devam ) Hali sınıfında, Alan propertysi set erişimcisi içermemektedir. Çünkü program dışından alan fieldının ayarlanmasına izin vermek istenmemektedir. Buna rağmen uzunluk veya genişlik fieldlarının değerleri değiştikçe hesaplanmaktadır. 56

57 public ve private Erişim Belirleyicileri Hakkında Daha Fazla (devam ) Eğer bir field ın değeri her nesne için aynı ise bu field ı hususi olarak public tanımlayabiliriz. Hali sınıfındaki Slogan field ı her Hali nesnesi için aynı değeri taşıyacaktır. Fakat uzunluk, genişlik veya alan gibi diğer field ların değeri her nesne için aynı değildir. Slogan fieldının sabit bir değere sahip olması için bu değişkeni const (sabit) olarak tanımlarız. 57

58 public ve private Erişim Belirleyicileri Hakkında Daha Fazla (devam ) Bir değişkeni const olarak tanımladığınızda, tanımlayıcısında static belirleyici anahtar kelimesi geçmese bile static olarak tanımlanır. Diğer bir deyişle bu field, bu sınıftan yaratılmış tek bir nesneye değil de, tamamıyla sınıfa aittir. Static bir field yarattığınızda, bu sınıftan ne kadar sayıda nesne türetilirse türetilsin, static field ın bir kopyası sınıfın tümü için saklanır. Bu field a o sınıftan nesne yaratmadan da ulaşılabilir. 58

59 public ve private Erişim Belirleyicileri Hakkında Daha Fazla (devam ) Hali nesnesi private erişim belirleyicisi ile tanımlı AlanHesapla() metoduna sahiptir. Uzunluk ve Genislik propertylerinin get ve set erişimcilerinin ikisine de sahip olmasına karşın; Alan property si sadece get erişimcisine sahiptir. 59

60 Yararlanılan Kaynaklar Sefer Algan, HER YÖNÜYLE C#, Pusula Yayıncılık, İstanbul, 2003 Milli Eğitim Bakanlığı, «Nesne Tabanlı Programlama», 2012 Joyce Farrel, An Introduction to Object- Oriented Programming, Cengage Learning,

61 İYİ ÇALIŞMALAR Yrd. Doç. Dr. Deniz KILINÇ 61

YZM 2105 Nesneye Yönelik Programlama

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 - 4 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

YZM 2105 Nesneye Yönelik Programlama

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ı

YZM 2105 Nesneye Yönelik Programlama

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 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 Kalıtım - II Bu bölümde; Soyut Sınıflar,

Detaylı

YZM 2105 Nesneye Yönelik Programlama

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ı

YZM 2108 Yazılım Mimarisi ve Tasarımı

YZM 2108 Yazılım Mimarisi ve Tasarımı YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 OOP Hatırlatma Bu bölümde Nesneye Yönelik

Detaylı

YZM 2105 Nesneye Yönelik Programlama

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 - 3 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

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ı

BTEP243 Ders 3. class Yazım Kuralı:

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ı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

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ı

YZM 2105 Nesneye Yönelik Programlama

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) - II Bu bölümde;

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

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ı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

Detaylı

public static int Toplam int x, int y

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ı

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

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ı

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 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ı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

YZM 2105 Nesneye Yönelik Programlama

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 - 3 Nesneye Yönelik Programlamaya Giriş Bu

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 Ö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ı

ALGORİTMA VE PROGRAMLAMA II

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 İşaretçiler ve Diziler Fonksiyon

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

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. 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ı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev

Detaylı

Bu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir.

Bu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir. Sınıflar (Classes) Çözülmesi istenene problemi çeşitli parçalara ayırıp her bir parça arasındaki ilişkiyi gerçeğine uygun bir şekilde belirleme tekniğine nesne yönelimi denir. Bu parçalar arasındaki ilişkiyi

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

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ı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

BİL-142 Bilgisayar Programlama II

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ı

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

enum bolumler{elektronik, insaat, bilgisayar, makine, gida}; BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı

Detaylı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

ALGORİTMA VE PROGRAMLAMA II

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 Bellek ve Adresleme İşaretçi Kavramı

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle

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;

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ı

Nesneye Yönelik Programlama (OOP) 7.Hafta

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER 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 isimleri ortaktır. Elemanlar

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

Genel Programlama II

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ı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

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ı

BİL-141 Bilgisayar Programlama I (Java)

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ı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 6 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³ Bölüm 12: Operatör Yükleme İçerik 12.1 Operatör Yükleme Fonksiyon Tanımı 12.2 Üye Olmayan Fonksiyonlar 12.3 Operatör Yüklemede Arkadas Fonksiyon Kullanımı

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

Detaylı

ALGORİTMA VE PROGRAMLAMA II

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ı

NESNEYE YÖNELİK PROGRAMLAMA

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ı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

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ı

ALGORİTMA VE PROGRAMLAMA II

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 Dosya İşlemleri (Rastgele Erişim)

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

C# Metotlar ve Metot Tanımlama

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ı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

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ı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

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ı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

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ı

YZM 2105 Nesneye Yönelik Programlama

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 - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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ı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*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ı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

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. 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ı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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ı

Nesne Yönelimli Programlama

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ı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

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ı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

Ders 8 Konu Özeti ve Problemler

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ı

Hafta 13 Fonksiyonlar

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ı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI 2.2 Değişkenler Ve Sabitler 2.2.1 Değişkenler Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

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ı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

Teknik Doküman. Autodesk Revit Building te yeni ölçü tipleri yaratmak

Teknik Doküman. Autodesk Revit Building te yeni ölçü tipleri yaratmak Teknik Doküman Teknik Doküman Numarası: 10771 Yayım Tarihi: 24.03.2006 Ürün: Autodesk Revit 6-9 Konu: Revit te yeni ölçülendirme tipleri yaratmak Tür: Öğretici Revizyon No: 0 Revizyon Tarihi: Autodesk

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) 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 gelmesi ile oluşur.

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

ALGORİTMA VE PROGRAMLAMA II

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 Veri Hiyerarşisi Dosyalara Giriş

Detaylı

BMH-303 Nesneye Yönelik Programlama

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ı

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1

İ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ı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

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 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:

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ı

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

İ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ı

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

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ı

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 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ı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini Okumak ve Yazmak Karakter Dizilerinin Uzunluğunu

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 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ı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı