C++ Class larina baslangic. C++ Versus C Object-oriented Language C++ Structure dan Object Create etmek. Structure tanimlama.

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

Download "C++ Class larina baslangic. C++ Versus C Object-oriented Language C++ Structure dan Object Create etmek. Structure tanimlama."

Transkript

1 C++ Class larina baslangic Object oriented programming language olarak kullanildiginda, programming in temel birimi class lardir Object lerin create edilmesinde blueprint gorevi gorur Class data (object attributes) ve behavior (member functions = methods) larin nasil birbirleriyle iliskilendirildigini belirler Class lar, object lerin birbirleriyle interface ler araciligiyla nasil etkilesimde bulunabileceklerini tanimlayan information hiding mechanism alarina sahiptir Object ler dunyamizdaki fiziksel varliklari modeller 11/4/2004 Nesneye Yonelik Programlama 6.1 C Programming Langugae Programming action-oriented Programming birimi function Program tanimindaki yuklemler fuction lari tanimlamada kullanilir C++ Versus C Object-oriented Language C++ Programming object-oriented Programming birimi class Program tanimindaki isimler object leri tanimlar ve class lari belirlemede yardimci olur 11/4/2004 Nesneye Yonelik Programlama 6.2 Structure tanimlama structure User-defined data type Bir veya daha fazla member icerir class larin basitlestirilmis sekli struct Time { int hour; // 0-23 int minute; // 0-59 int second; // 0-59 ; 11/4/2004 Nesneye Yonelik Programlama 6.3 Structure dan Object Create etmek struct Time { int hour; // 0-23 int minute; // 0-59 int second; // 0-59 Time *next; // pointer to next Time object ; // ; gerekli Time timeobject1, timeobject2, timeobject3; Time *timeptr; // pointer to time object Time &timeref = timeobject1; // defines a reference (alias) to an existing object timeptr = &timeobject1; timeobject1.next = &timeobject2; timeobject2.next = &timeobject3; timeobject3.next = 0; // uninitialized ptr 11/4/2004 Nesneye Yonelik Programlama 6.4

2 Member Access Operators Yuksek oncelikli operatorler ( ( ) ve [ ] ile ayni oncelikli, ve & ile * dan daha oncelikli). Dot operator. struct (class) member a erisim icin kullanilir (object name veya object e reference olan isimler icin) cout << timeobject1.hour; cout << timeref.minute; Arrow operator -> struct (class) member a erisim icin kullanilir (object e point eden pointer lar icin) cout << timeptr->hour; cout << (*time).hour; // same cout << *timeptr.hour; // wrong 11/4/2004 Nesneye Yonelik Programlama 6.5 Structure Kullanimin Dezavantajlari struct kullanilarak create edilen yeni bir object icin initialization a gerek yok Object client leri, object lere istedikleri degerleri atamalarinda herhangi bir kisitlama yok (atanan yanlis degerler olsa bile) Eger struct definitioni degistirilmesi gerekirse, struct daki degisikliklere adapte olabilmek icin butun client code un degistirilmesi gerekebilir. C ve C++ struct in objectlerinin kiyaslanmalarini equality ve relational operator ler kullanilarak yapilmasina olanak tanimaz 11/4/2004 Nesneye Yonelik Programlama 6.6 C++ da class lar Class object creation icin gelistirilmis blueprint dir. Class kullanimi structure larin dezavantajlarini giderir Class tanimi, data members (object attributes) ve member functions (object operations = behaviors) lar well define edilmis ve kontrol edilebilen Data members lara deger atanmasi Class initialization code Member function calls Member function cagrimi Conventional function call baska bir object in member function undan cagri 11/4/2004 Nesneye Yonelik Programlama 6.7 ornek class Time { // a member access specifier Time( ); // a constructor function void settime (int,int,int); void printmilitary( ); void printstandard ( ); private: // a member access specifier int hour; int minute; int second; ; // end of class definition 11/4/2004 Nesneye Yonelik Programlama 6.8

3 Member Access Specifiers sonraki member access specifierine kadar butun data members veya member function lar butun client (user of object of the class) ler tarafindan erisilebilirler private sonraki member access specifierine kadar ki butun data member ve member function lar ancak ayni class in member function lari tarafindan erisilebilirler protected sonraki member access specifierine kadar ki butun data member ve member functionlar ayni class in member function lari ve bu class tan turetilen (inheritance) class larin member larinca erisilebilinir 11/4/2004 Nesneye Yonelik Programlama 6.9 Class Constructors Class constructor function un ismi class la aynidir ornek: Time( ) Bir object create edilirken daima ilgili constructor function cagrilir Constructor function un amaci ilgili object in data member larini initialize etmek (baslangic degerleri atamak) Default initial deger 0 dir Constructor un return type i yoktur Bir class in bir den fazla constructor u olabilir (function overloading) 11/4/2004 Nesneye Yonelik Programlama 6.10 Class Definition larinin kullanimi #include <iostream> using namespace std; Ornek Class definition yeni bir type belirler Object ler variable declaration syntax i kullanarak create edilirler Ornekler: Time sunset; // create a new Time object Time arrayoftimes[5]; // array of objects Time *ptrtotime; // pointer to Time object Time &dinnertime = sunset; // reference to an existing // Time object 11/4/2004 Nesneye Yonelik Programlama 6.11 class Time { Time( ); void settime (int, int, int); void printmilitary ( ); void printstandard ( ); private: int hour; // 0 to 23 int minute; // 0 to 59 int second; // 0 to 59 ; 11/4/2004 Nesneye Yonelik Programlama 6.12

4 // Time constructor initializes all data members to 0 Time::Time( ) {hour = minute = second = 0; // set a new Time value using military time void Time::setTime ( int h, int m, int s) { hour = ( h >=0 && h< 24)? h : 0; minute = (m >=0 && m<60)? m : 0; second = (s >= 0 && s < 60)? s : 0; // Print the Time in Military format void Time::printMilitary( ) { cout << ( hour < 10? 0 : ) << hour << : << (minute < 10? 0 : ) << minute; 11/4/2004 Nesneye Yonelik Programlama 6.13 // Print the Time in standard format void Time::printStandard ( ) { cout << ( (hour == 0 hour == 12)? 12 : (hour %12)) << : ; << (minute < 10? 0 : ) << minute << : ; << (second < 10? 0 : ) << second << (hour < 12? AM : PM ); 11/4/2004 Nesneye Yonelik Programlama 6.14 int main( ) { Time t; // create object t of class Time cout << The initial military time is ; t.printmilitary( ); cout << \nthe initial standard time is ; t.printstandard( ); t.settime(13, 27, 6 ); cout << \n\nmilitary time is ; t.printmilitary( ); cout << \nstandard time after settime is ; t.printstandard( ); t.settime(99,99,99 ); cout << \n\nafter attempting invalid settings: ; << \nmilitary time: ; t.printmilitary( ); cout << \nstandard time ; t.printstandard( ); cout << endl; return 0; 11/4/2004 Nesneye Yonelik Programlama 6.15 The initial military time is 00:00 The initial standard time is 12:00:00 AM Military time after settime is 13:27 Standard time after settime is 1:27:06 PM After attempting invalid settings: Military time: 00:00 Standard time: 12:00:00 AM 11/4/2004 Nesneye Yonelik Programlama 6.16

5 Class larda information hiding C++ class lari client lerden information hiding mechanism a sina sahip privatedata member lari client ler tarafindan direct olarak erisilemezler. Object in state i nin implement detaylari client lerden gizlenebilir Client ler ilgili object le ancak public member function lari ile etkilesir 11/4/2004 Nesneye Yonelik Programlama 6.17 Binary Scope Resolution Operator :: Member functon definitions class definition in icinde verilebilir, fakat genelde class definition in disinda vermek daha iyidir Bu is icin binary scope resolution operator (:: ) kullanilir. void Time::printMilitary( ) { cout << (hour < 10? 0 : ) << hour << : << (minute < 10? 0 : ) << minute; 11/4/2004 Nesneye Yonelik Programlama 6.18 Class Member larina erisim Class in member function (public) lari ve public data member (data member lari public olarak tanimlamak tavsiye edilmez) 3 yontemden biriyle erisilebilinir 1. Class name ve dot operator kullanilarak Ornek: t.printmilitary( ); 2. Class a pointer ve arrow operator kullanilarak Ornek: Time t, *timeptr = &t; timeptr->settime(11,50,0); (*timeptr).settime(11,50,0); 3. Class a reference ve dot operator u kullanarak Ornek: Time &timeref = t; timeref.settime(11,50,0); 11/4/2004 Nesneye Yonelik Programlama /4/2004 Nesneye Yonelik Programlama 6.20

6 Class larla Header File lerin Kullanimi Class interface ini header file e koyarak client lere sunmak ve private member lari ayri file lerde saklamak (gizlemek) yararli olabilir 11/4/2004 Nesneye Yonelik Programlama 6.21 // Header file time1.h // Need to avoid multiple includes of time1.h #ifndef TIME1_H #define TIME1_H class Time { Time( ); void settime ( int, int, int); private: int hour, minute, second; ; #endif 11/4/2004 Nesneye Yonelik Programlama 6.22 // source file time1.cpp #include <iostream> #include time1.h // Define the constructor function // Initialize the data members to safe values Time::Time( ){ hour = minute = second = 0; // Define the settime member function void Time::setTime ( int h, int m, int s) { hour = ( h>=0 && h< 24)? h:0; minute = ( m>=0 && m < 60)? m:0; second = ( s>= 0 && s < 60)? s: 0; 11/4/2004 Nesneye Yonelik Programlama 6.23 Member lara erisim kntrolu Butun data member larini private olarak tut Eger uygunsa, client lere object in internal state inin degistirilmesini saglayan set function larini sun Eger uygunsa, object in state ini temsil eden data member lari get function lari ile client lere sun Diger function lar client lere service sunarlar public member function larini class definition in basinda grupla, ve private data member lari ve function lari class definition in sonunda grupla. (Default olarak, class larin data ve function member lari private dir) 11/4/2004 Nesneye Yonelik Programlama 6.24

7 Access Functions && Utility Functions Access functions: client lara asagidakileri yapmaya izin veren class member fonksiyonlardir Object data yi okuma ve geri dondurm Ornek: t.gettime Data yi yazma Ornek: t.printmilitary Object in state ini test etme Ornek: t.isam, t.ispm, t.isaftercurfew 11/4/2004 Nesneye Yonelik Programlama 6.25 Utility Functions: public member function lari tarafindan cesitli gorevleri gerceklestirmek icin cagrilan private function lardir 11/4/2004 Nesneye Yonelik Programlama 6.26 Constructors Yeni bir object create edildigi zaman otomatik olarak cagrilan function lardir Class la ayni isimdedir Parametre alabilirler Geriye deger donduremezler Constructor lar data member lara initial degerleri atamak icin kullanilirlar Pointer lara genelde baslangic degeri olarak NULL atanir Constructor lar overload edilebilir. Bunun icin tek kosul bir constructor parameter tiplerinden ve parameter sayilarindan diger constructor lardan ayrit edilebilmeli 11/4/2004 Nesneye Yonelik Programlama 6.27 Overloaded Constructors class Date { int d, m, y; // private by default Date ( int, int, int ); Date (int, int); // assume month & year present Date (int); // assume only only year present Date ( ); // assume today s date Date( const char *); // date as string ; Date:: Date( int dd, int nm, int yy) { d = dd; m = mm; y = yy; // plus four more constructor definitions 11/4/2004 Nesneye Yonelik Programlama 6.28

8 Constructor larla default argument lerin kullanimi Eger bir constructor argument icermezse, butun default degerler guvenli degerlere set edilir. Bu tip constructor lere default constructor denir. Her bir class in sadece bir default constructor u vardir class Time { Time (int =0, int =0, int =0); void settime (int, int, int); void printmilitary( ); void printstandard ( ); private: int hour; // 0-23 int minute; // 0-59 int second; // 0-59 ; 11/4/2004 Nesneye Yonelik Programlama /4/2004 Nesneye Yonelik Programlama 6.30 // constructor definition. Calls settime to ensure consistency // with settime. As a rule it is best to avoid repeating similar code Time::Time(int hr, int min, int sec) { // Default values from class specification settime (hr, min, sec ); void Time::setTime(int h, int m, int s) { // illegal values ignored, and 0 used instead hour = ( h>=0 && h< 24)? h:0; minute = ( m>=0 && m < 60)? m:0; second = ( s>= 0 && s < 60)? s: 0; 11/4/2004 Nesneye Yonelik Programlama 6.31 int main( ) { Time t1, // use all default values t2(2), // minutes and secs defaulted t3(21, 34), // second defaulted t4(12,25,99), // all values set t5 (27, 74, 99); // bad values set // rest of main return 0; 11/4/2004 Nesneye Yonelik Programlama 6.32

9 Destructors Destructor function dynamic olarak create edilen object lerin isgal ettigi memory alanlarinin tekrar heap e geri verilmesini saglar Destructor function un ismi tilde ~ ile baslar ve class in ismi ile sonlanir. Ornek: Time class icin destructor: ~Time() Her bir class in en fazla bir destructor u olabilir. Destructor parameter almaz 11/4/2004 Nesneye Yonelik Programlama 6.33 Object Construction & Destruction Object ler scope larina girildiginde automatic olarak create edilirler. Gerekli memory alani create edilme esnasinda ayrilir ve uygun bir class constructor u cagrilir global objects: program calismaya basladiginda auto local objects: block a girildiginde static local objects: block a ilk girildiginde 11/4/2004 Nesneye Yonelik Programlama 6.34 Object Construction & Destruction Object ler scope larindan cikildiginda automatic olarak yok edilirler. Object in destructor u cagrilir ve object in isgal ettigi memory alani geri verilir global objects: program sonlandiginda auto objects: block dan cikildiginda static local objects: program sonlandiginda Assigning & Passing Objects Bir object digerine = operator u kullanilarak atanabilir. Atama islemi her bir data member icin yapilir Eger data member lar dynamic olarak allocate edilen memory isgal ediyorsa bu soruna sebep olabilir. (Sadece pointer lerin degerleri kopyalanir.) Bu problemin cozumunden daha sonra bahsedilecek 11/4/2004 Nesneye Yonelik Programlama /4/2004 Nesneye Yonelik Programlama 6.36

10 Assigning & Passing Objects Object ler function lara parameter olarak gonderilebilirler ve function lardan return value olarak geri dondurulebilirler (call-byvalue, default olarak) Call-by-value large object lerin icin inefficient Call-by-reference (ya pointer ler ya da reference lar kullanilarak gerceklenebilir). Hata ya yol acmamak icin call-by-const-reference olarak kullanilabilir Classes Summary C++ da OOP nin temel birimleri Data ve fuctionlar arasindaki bagi belirler Information hiding Object scope Object member larina erisim Class_name.member Pointer_to_class->member Class member larina erisim kontrolu Butun data member lar private get functions, set functions, service functions utility functions 11/4/2004 Nesneye Yonelik Programlama /4/2004 Nesneye Yonelik Programlama 6.38 Classes Summary Constructors En az bir tane: automatic olarak cagrilir Data member lara guvenli deger lerin set edilmesi Overloading, default arguments Destructors En fazla bir tane; no arguments Objec lerin kapladiklari memory alanlarinin guvenli olarak geri verilmesi Assigning objects member-wise copy Passing objects by value, by reference 11/4/2004 Nesneye Yonelik Programlama 6.39

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ı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I GENEL DERS BİLGİLERİ Öğretim Elemanı : İzzet TAMER Ofis : MUH 311 Ofis Saatleri : Pazartesi: 14:10 15:00, Salı:

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 1 C++ ve Nesne Yönelimli Programlamaya Giriş İyi Bir Programın Özellikleri Doğruluk (Correctness); verilen görevin tam olarak yerine gerilmesidir. Bir yazılımı yazmaya başlamadan önce yazılımdan beklenenlerin

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Ders 2 Constructor, Destructor lar ve Nesne Yönelimli Programlama Öğeleri ile Nesne Erişim Kontrolü C ++ Constructor - Destructor Fonksiyonların Çağırılması Constructor ve Destructor Fonksiyonlar

Detaylı

Inheritance. Inheritance (turetim)

Inheritance. Inheritance (turetim) Inheritance (turetim) Bir cok problemin cozumu icin belirlenen class lar hierarsik bir yapi seklinde organize edilebilir C++ gibi bir cok Object-oriented diller class benzerliklerinin etkin bir sekilde

Detaylı

const objects & const member functions const objects ve const functions Data Member Initializer List Data Member Initializer List

const objects & const member functions const objects ve const functions Data Member Initializer List Data Member Initializer List const objects & const member functions Principle of Least Privilege: Bir software parcasina sadece kesin olarak ihtiyac duyulani ver. Bu yolla bir cok muhtemel hata yakalanabilir ve bu hatalardan sakinilabilinir

Detaylı

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar Pointers Java haric, cogu programming languages memory address lerine ait abstract data type destigine sahiptirler C++ da buna pointer denir Pointers lar data structures ve parameter passing in karmasikligini

Detaylı

Object-Oriented Programming Laboratuvar 10

Object-Oriented Programming Laboratuvar 10 Object-Oriented Programming Laboratuvar 10 12.11.2017 1. Aşağıda declaration ı verilen Time class ının definition ını yazın. Bir Time objesindeki zaman değerini bir saniye arttıran tick metodunu ekleyin.

Detaylı

const objects & const member functions

const objects & const member functions const objects & const member functions Principle of Least Privilege: Bir yazılım parçasına sadece kesin olarak ihtiyac duyulan karadar erişim izni verilmelidir. Bu yolla bir çok muhtemel hata yakalanabilir

Detaylı

10/17/2007 Nesneye Yonelik Programlama 3.1

10/17/2007 Nesneye Yonelik Programlama 3.1 Procedure-Based Programming in C++ Çoğu gerçek dünya problemleri binlerce kod satırı gerektirir ( MS Windows NT 5.0 25 million dan fazla kod satırından oluşmaktadır). Yazılımın tasarımı, kodlanması ve

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 3 Nesne Erişim Kontrolü Friend fonksiyonları ve this pointer ı Prof. Dr. M. Serdar ÇELEBİ, İTÜ Bir sınıfın üyesi olan nesneler (Composition) *date1.h classdate *date1.cpp #include date1.h *emply1.h

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ı

Ne zaman operator overloading yapilir. Operator Overloading

Ne zaman operator overloading yapilir. Operator Overloading Operator Overloading Operator overloading, bir operator e standard anlami haricinde yeni anlamlar vermek Overloaded operator giris olarak aldigi operand (parameter ) larin type ine gore anlam kazanir Ornek:

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ı

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ı

Object-Oriented Oriented Design (OOD) Procedure Based Programlama. OOD Ana Ozellikleri

Object-Oriented Oriented Design (OOD) Procedure Based Programlama. OOD Ana Ozellikleri Procedure Based Programlama Procedural Programming Subprograms, functions/procedures kullanilmak suretiyle programi kisimlara ayirmak. Programlama karmasikligi procedure lar icinde gizlenir Data karmasikligi

Detaylı

#ifndef COMPLEX_H #define COMPLEX_H

#ifndef COMPLEX_H #define COMPLEX_H 16.10.2018 2018-2019 Güz Object-Oriented Programming Lab 03 Ön Çalışma - Bir kompleks sayının genliğini ve açısını hesaplamak için gerekli C/C++ fonksiyonları bulun, kütüphanelerini ve prototiplerini yazın,

Detaylı

Object-Oriented Programming Laboratuvar 11

Object-Oriented Programming Laboratuvar 11 Object-Oriented Programming Laboratuvar 11 19.12.2017 We use abstract class Employee to represent the general concept of an employee. The classes that derive directly from Employee are SalariedEmployee

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++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

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ı

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ı

The statement. const Time noon( 12, 0, 0 );

The statement. const Time noon( 12, 0, 0 ); 1 - const (Constant) Objects and const Member Functions Some objects need to be modifiable and some do not. You may use keyword const to specify that an object is not modifiable and that any attempt to

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 13: Miras İçerik Miras Kavramı Miras Yönteminin Uygulanması Erişim Etiketleri: public, private, protected Miras ve Yapıcı Fonksiyonlar Üst Sınıf Tanımlamasında

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.

Detaylı

C++ ile Nesneye Dayalı Programlama

C++ ile Nesneye Dayalı Programlama Nesne İşaretçileri Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Nesneİşaretçileri Çok Şekillilik

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ı

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ı

Yordamsal Tabanlı Programlama

Yordamsal Tabanlı Programlama Yordamsal Tabanlı Programlama Procedural Programming (Yordamsal Programlama) Subprograms, functions/procedures kullanarak programı kısımlara ayırma prensibiyle çalışır. Programlamadaki karmaşıklık yordamlar

Detaylı

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1 PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates

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ı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

#ifndef FATURA_H #define FATURA_H

#ifndef FATURA_H #define FATURA_H 06.10.2018 2018-2019 Güz Object-Oriented Programming Lab 06 Ön Çalışma - Uygulamanın 1. ve 2. sorularında istenen fatura ve mevduat class ları için constructor metodunun (.cpp syasındaki) tanımını ve static

Detaylı

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) 1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) 6 LECTURE 10: STRUCTURES Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming) Structures (Yapılar) A structure is a collection

Detaylı

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun. 04.08.2017 Object-Oriented Programming Lab 4 1. class sicaklik sicaklik class ı oluşturun. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri 273.15 K olsun. - okucel, okufah ve

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

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ı

C++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References)

C++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References) C++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References) Kaan Aslan 25 Ağustos 2008 C++ a eklenmesine karar verilen yeni bir özellik de sağ taraf değerine bağlanan referanslardır. C++0x standart

Detaylı

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder C++ Statements C++ control structures En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder Ornek: while (*str++ = *inbuf++) ; {

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ı

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

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

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ı

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b. Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte

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ı

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ı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1 Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1 Arayüz (Interface) Arayüzler, soyut sınıfların bir üst modeli gibi düşünülebilir. Arayüzler tamamen birleştirici bir rol oynamaları

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü C DİLİNİN BİR ÜST-KÜMESİ OLARAK C++ Genel olarak, C de mevcut olan her şey C++ da da vardır. C dilinde

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 7: Yapılar Diziler İçerik Yapıların Tanımı Yapılara İlk Değer Atama Yapı Elemanlarına Erişim İç içe Yapılar Yapılar ve Fonksiyonlar 2 Yapılar (structures) içinde

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ı

Operatörlere İşlev Yükleme

Operatörlere İşlev Yükleme Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Operatörler C tip-duyarlı ve -odaklı bir dildir. Her operatör belirli tiplerde operand alır. C de temel tiplerden

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ı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü GİRİŞ C++, hem derleyici-zamanlı hem de çalışmazamanlı çok biçimliliği destekler.

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ı

Final Sınavı Soruları Bahar 2018

Final Sınavı Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Final Sınavı Soruları Bahar 2018 Süre: 70 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 5 Miras Alma Inheritance (Miras) Eski sınıflardan yeni sınıflar yaratılmasıdır. Yeni (türetilmiş) sınıf, eski (kök) sınıfın özellik ve davranışlarını gösterir. Türetilmiş (Derived) sınıf, kök (base)

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 6: Diziler İçerik Diziler Dizi Elemanlarına İlk Atama Diziler ve Fonksiyonlar İki Boyutlu Diziler İki Boyutlu Dizi Tanımı İki Boyutlu Dizi Elemanlarına Erişim

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ı

Kurucu Fonksiyonlar (Constructors)

Kurucu Fonksiyonlar (Constructors) Kurucu Fonksiyonlar (Constructors) Kurucu fonksiyonlar üyesi oldukları sınıftan bir nesne yaratılırken kendiliğinden canlanırlar. Bu tür fonksiyonlar bir nesnenin kurulması aşamasında yapılması gereken

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ı

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

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Sınıf Yapısı Kalıtım Çok Şekillilik Nesneye Dayalı Programlama 2 1 İşaretçiler, veri değil, verinin yerleşik bulunduğu

Detaylı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

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ı

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok.

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok. Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok. 21.12.2018 1. (30 puan) Aşağıda, aralarında herhangi bir kalıtım (inheritance)

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA KALITIM Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ

NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu

Detaylı

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN  16/04/2009 Nesne Yönelimli Programlamaya Giriş - 2 Cem Ahmet MERCAN http://www.be.itu.edu.tr/~mercan/ 16/04/2009 Nesne Yönelimli Programlama Kavramlar Class (Sınıf): Nesneyi tanımlayan teorik yapıdır. Nesnenin yetenek

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 5 Miras Alma Prof. Dr. M. Serdar ÇELEBİ, İTÜ Inheritance (Miras) Eski sınıflardan yeni sınıflar yaratılmasıdır. Yeni (türetilmiş) sınıf, eski (kök) sınıfın özellik ve davranışlarını gösterir. Türetilmiş

Detaylı

BMH-303 Nesneye Yönelik Programlama

BMH-303 Nesneye Yönelik Programlama BMH-303 Nesneye Yönelik Programlama this anahtar kelimesi ve kalıtım Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği this kelimesinin kullanım yerleri Aktif sınıfın örneğine referans vermek için

Detaylı

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) 1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) LECTURE 3: ASSIGNMENT OPERATOR Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming) 2 Lexical Elements (Sözcüksel Elemanlar)

Detaylı

C ++ Ders 6. Çoklubenzesim

C ++ Ders 6. Çoklubenzesim Ders 6 Çoklubenzesim Çoklubenzesim Farkli siniflardaki nesnelerin ayni fonksiyon çagrilmasina farkli sekilde cevap verebilmesini saglar. Sanal fonksiyonlar araciligiyla uygulanir. Kök-siniftan bir pointer

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 12 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ı

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ı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 5: Fonksiyonlar İçerik Standart Kütüphane Fonksiyonları Kullanıcı Tarafından Tanımlanan Fonksiyonlar Fonksiyon Tanımı Fonksiyon Prototipi void Fonksiyonları Parametreli

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ı

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ı

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ı

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ş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

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ı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

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ı

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ı

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ı

Lambda İfadeleri (Lambda Expressions)

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ı

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t; 02.10.2018 2018-2019 Güz Object-Oriented Programming Lab 01 Ön Çalışma - 1. soruyu çözün. - 2. soruda istenen fonksiyonların argümanlarına ve return türlerine karar verin. Nedenlerinizi kısaca açıklayın.

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Doç. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Kalıtım, Temel/Alt Sınıf, Temel/Alt Sınıf Tip Dönüşümleri, Temel Sınıf Yapıcıları, super Anahtar Kelimesi, Sınıf Üyesi Görünürlüğü, Statik Üyeler ve Final Üyeler Sınıflar Programcı tarafından

Detaylı

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi SQLite Veritabanı BLM401 Dr.Refik SAMET 1 SQLite açık kaynak kodlu; GİRİŞ (1/4) sunucu gerektirmeyen; konfigürasyon ayarları gerektirmeyen; platformdan

Detaylı

Object Oriented Programming Ders İzlence Formu

Object Oriented Programming Ders İzlence Formu Diploma Programı Bilgisayar Mühendisliği Bölümü Yarıyıl Teorik Uygulama Object Oriented Programming Ders İzlence Formu Laboratuar Kodu: CSE203 Dersin Adı: Object Oriented Programming Toplam Saat AKTS Dersin

Detaylı

OPERATÖRLER Alıştırmalar

OPERATÖRLER Alıştırmalar Bölüm 6 : Operatörler 1 OPERATÖRLER Alıştırmalar Aritmetik Operatörleri Operatör Açıklama Grup + Toplama, artı işleci Đkili Đşlem (binary operator) - Çıkarma, eksi işleci Đkili Đşlem (binary operator)

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Giri Time isimli bir sınıf oluturma (Örnek) Class Scope Üyelere Eriim Denetimi (Controlling Access to Members) Sınıf Nesnelerini Balatma: Constructors Özellikler (Properties)

Detaylı

Bölüm 10 - Yapılar, Birlikler, Bit İşleme ve Sayma Sabitleri (Enumarations)

Bölüm 10 - Yapılar, Birlikler, Bit İşleme ve Sayma Sabitleri (Enumarations) Bölüm 10 - Yapılar, Birlikler, Bit İşleme ve Sayma Sabitleri (Enumarations) 1 Taslak 10.1 Giriş 10.2 Yapı Tanımlamaları 10.3 Yapılara İlk Değer Atamak 10.4 Yapı Elemanlarına Ulaşmak 10.5 Yapıları Fonksiyonlarla

Detaylı

Veri Yapıları Lab Notları 1

Veri Yapıları Lab Notları 1 C++ Programlama Dili Veri Yapıları Lab Notları 1 C++ dili, hızlı ve düşük seviye özelliklere erişmek isteyen uygulamaların yazılması için popüler bir dildir. C programlama diline birçok ekstra özellik

Detaylı