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

Benzer belgeler
Yordamsal Tabanlı Programlama

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

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

Inheritance. Inheritance (turetim)

10/17/2007 Nesneye Yonelik Programlama 3.1

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

C++ Dersi: Nesne Tabanlı Programlama

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

C++ Dersi: Nesne Tabanlı Programlama

Object Oriented Programming Ders İzlence Formu

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

BİL-142 Bilgisayar Programlama II

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

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

1 PROGRAMLAMAYA GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ

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

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

PROGRAMLAMAYA GİRİŞ DERS 2

C++ Operatörler (Operators)

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

Bigisayar Programlama

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

PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Bigisayar Programlama (GÜZ 2015)

Bölüm 1. Bilgisayarlar ve C++ Programlama. Doç.Dr. Yıldıray Yalman. Kaynak: Problem Solving with C++, Walter Savitch Slide 1

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

C++ Dersi: Nesne Tabanlı Programlama

BİLGİSAYAR PROGRAMLAMA

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 3: Giriş/Çıkış

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

C++ Dersi: Nesne Tabanlı Programlama

BİLG Dr. Mustafa T. Babagil 1

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Eln 1001 Bilgisayar Programlama I

C++ Dersi: Nesne Tabanlı Programlama

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

DERSİN WEB SİTESİ:

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

const objects & const member functions

HSancak Nesne Tabanlı Programlama I Ders Notları

Temel Giriş/Çıkış Fonksiyonları

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

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

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ü

Programlama Dillerinde Kullanılan Veri Tipleri

Operatörlere İşlev Yükleme

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

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

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

Ne zaman operator overloading yapilir. Operator Overloading

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

C++ Dersi: Nesne Tabanlı Programlama

Object-Oriented Programming Laboratuvar 11

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

C PROGRAMLAMA D İ L İ

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

BİL-142 Bilgisayar Programlama II

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

11- FONKSİYONLAR (FUNCTIONS)

Örnek1: #include <iostream> #include <string> using namespace std;

C++ Dersi: Nesne Tabanlı Programlama

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

NESNEYE YÖNELİK PROGRAMLAMA

BMT 101 Algoritma ve Programlama I 5. Hafta. Yük. Müh. Köksal Gündoğdu 1

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

C Programlama printf() Fonksiyonu

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

C# Eğitimi-1 (Giriş) Melih Hilmi Uludağ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C++ ile Nesneye Dayalı Programlama

#ifndef COMPLEX_H #define COMPLEX_H

4. Bölüm Programlamaya Giriş

// hataları işaret eden referans

C++ Dersi: Nesne Tabanlı Programlama

5. PROGRAMLA DİLLERİ. 5.1 Giriş

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II

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ü

BTEP243 Ders 3. class Yazım Kuralı:

Java Temel Özellikleri

Fall Object-Oriented Programming Laboratory 02 - Structures

Dizi ( Array ) ve Dizgi ( String )

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

C Programlama Dilininin Basit Yapıları

Lecture 11: Generics

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

Sınav tarihi : Süre : 60 dak.

BİLG Dr. Mustafa T. Babagil 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

Transkript:

Procedure Based Programlama Procedural Programming Subprograms, functions/procedures kullanilmak suretiyle programi kisimlara ayirmak. Programlama karmasikligi procedure lar icinde gizlenir Data karmasikligi built-in data types, user-defined data types, static type checking, run-time type checking ve abstract data type (verinin ve veriyi uzerinde islem yapan fonksiyonlarin ayni modulde olmasi) 10/7/2004 Nesneye Yonelik Programlama 1.1 Object-Oriented Oriented Design (OOD) Nesneye Yonelik Design Object ler programlamada gercek dunya nesnelerini temsil ederler (gercek nesnelerin abstract temsili) Object, state information (local variables), ve bu local variable lar uzerinde islem yapan operations (methods) lardan olusur. Objectler arsindaki benzerlikle class lar ve class larin hierarsisileri ile belirlenir Sistem analizi, dizayni ve gerceklenmesi birbiriyle etkilesen bir dizi object lerle olur 10/7/2004 Nesneye Yonelik Programlama 1.2 OOD Ana Ozellikleri Encapsulation Design tedaylari mumkun oldugu kadar module ler icine konur. Module un kullanicisi module un ic tasarimini bilme zorunlulugu yoktur. Inheritance Software reusability (var olan software uzerine yeni seylerin kolayca eklenebilmesi) Var olan class lara yeni yeneteklerin kazandirilmasi 10/7/2004 Nesneye Yonelik Programlama 1.3 OOD Ana Ozellikleri Polymorphism Farkli durumlarda variable, function, ve object gibi varliklara farkli formlar (anlamlar) kazandirabilmek 10/7/2004 Nesneye Yonelik Programlama 1.4

Programming Language s lerin Tarihcesi C Programming Language 1969 da Bell Lab. Larinda PDP-11 minicomputer icin system programciligi amaciyla gelistirildi. UNIX operating system (isletim sistemi) nin gerceklestirilmesinde kullanildi UNIX in onemli bir kisminin (%90) C diliyle yazilmasi onun diger bilgisayarlara tasinmasini kolaylastirildi (portability) UNIX su an akademic ortamlarda en cok kullanilan isletim sistemidir. 10/7/2004 Nesneye Yonelik Programlama 1.5 10/7/2004 Nesneye Yonelik Programlama 1.6 C++ nin orgini 1980 yilinda Bjarne Stroustrup (Bell Lab.) object oriented ozelliklerini destekleyen ve C nin halefi olarak C++ yi gerceklestirildi C++ herseyiyle yeni bir dil olmaktan ziyade C nin bir superset i olarak dizayn edildi Ilk versiyonu 1985 de cikti 10/7/2004 Nesneye Yonelik Programlama 1.7 C++ in onemli ozellikleri C++ nin bir superset idir. Kullanici yeni veri tipleri class tanimlayabilir data hiding Nesnelere ilk degerler kullanici bunun icin kod yazmamissa dahi otomatik olarak yapilir Implicit type conversion Class lar arasinda inheritance Kullanici kontrollu memory (bellek) yonetimi Operator overloading icin mekanizmalar Portable ve optimezed kodlara destek icin standard library ler mevcut 10/7/2004 Nesneye Yonelik Programlama 1.8

C++ ozellikleri devam Symbolic constants (sabitler) Inline functions Default function arguments Function isimlerinin overload olabilme yetenegi Reference type (object ler icin aliases lar tanimlayabilme) Exception handling Generic programming destegi (templates) Standart Template Library (STL) 10/7/2004 Nesneye Yonelik Programlama 1.9 C++ Icin Genel Gozlemler C++ pure object-oriented language degil. Hybrid bir dil (hem procedure-oriented, hem de objectoriented ozelliklere sahip) C++ code eger itina ile yazilmazsa anlasilmasi oldukca zor olabilir. Eger uygun bir sekilde kod gerceklenirse, kompleks ve buyuk projelerin gerceklenmesinde C++ oldukca guclu bir dil 10/7/2004 Nesneye Yonelik Programlama 1.10 Java Programming Language 1995 yilinda Sun Microsystems tarafindan portable kod gelistirmek icin gelistirildi (bir platform icin yazilan Java kod degistirilmeksizin baska bir platform da calisabilme yetenegi) Genellikle java program lari bytecode olarak derlenip surume cikartilir. Her bir platform bytecode lari yorumlayan bir standard virtual machine ye sahip. Performnce (machine language le compile edilmis kod la kiyaslandiginda) 3-20 kez daha yavas calisir Java C ve C++ nin ozelliklerini bir kismini almistir. En buyuk fark pointer islemlerinin olmayisi ve automatic garbage collection 10/7/2004 Nesneye Yonelik Programlama 1.11 10/7/2004 Nesneye Yonelik Programlama 1.12 ozelliklerine sahip olmasi

Preprocessor Directives C++ ile yazilan bir program genelde compile edilmeden once preprocessor asamasindan gecer. Preprocessor directive leri # ile baslar. macro definitions conditional compilation inclusion of standard header files #include <iostream.h> directive I standard input/output header file in compile (derleme) esnasinda goz onunde tutulmasini saglar 10/7/2004 Nesneye Yonelik Programlama 1.13 main( ) function Her C++ program main( ) function unu tanimlamali. int main( ) {.} bir function definition return 0; main( ) execution in basarili oldugunu gostermek icin main( ) 0 degerini geri dondurur 10/7/2004 Nesneye Yonelik Programlama 1.14 cout Cout << Welcome to C++!\n ; tirnak icerisindeki text i standard output stream object ( screen) ine goruntulenmesi icin yollar << stream insertion operator u temsil eder \n escape sequence \n yeni satir basina git (new line) \t yerlestir (horizontal tab) \r ayni satirin basina git \a bell sound \\ backslash (\) character 10/7/2004 \ double quote Nesneye ( ) character Yonelik Programlama 1.15 10/7/2004 Nesneye Yonelik Programlama 1.16

Stream input (cin( cin) cin >> intl; variable intl nin input stram object (cin) okununmasini saglar >> stream extraction operator endl newline i ifade eder ( \n ) ve output buffer in flush olmasini saglar 10/7/2004 Nesneye Yonelik Programlama 1.17 10/7/2004 Nesneye Yonelik Programlama 1.18 Variable Declaration Variable isimleri letter,digit ve underscore ( _ ) dan olusturdugu bir karakter dizisi ile belirlenir Digit le variable ismi baslamaz Not: underscore la variable ismi baslatmak iyi degil, cunku compiler underscore la baslayan degiskenler kullanabilir 10/7/2004 Nesneye Yonelik Programlama 1.19 10/7/2004 Nesneye Yonelik Programlama 1.20

Default streams File lar uzerindeki islemler stream ler vasitasiyle olur Stream data flow (veri akisi) anlamina gelir 3 tane standard stream var, bunlar default olarak su devices lara yonlendirilmistir. Cout (ekran) Cin (klavye) Cerror (ekran) Stream ler iostream.h de declare edilmislerdir C++ da stream ler object lerle temsil edilirler 10/7/2004 Nesneye Yonelik Programlama 1.21 10/7/2004 Nesneye Yonelik Programlama 1.22 C++ Arithmetic Operators Operation C++ Operator Ornek Addtion + f + 7 Substraction - p - c Multiplication * b * m Division / x / y Modulus % r % s 10/7/2004 Nesneye Yonelik Programlama 1.23 Equality ve Relational Operators Operators Ornek Anlami == x == y x, ye esit!= x!= y x, y den farkli > x > y x, y den buyuk < x < y x, y den kucuk >= x >= y x, y den buyuk/esit <= x<=y x, y den kucuk/esit 10/7/2004 Nesneye Yonelik Programlama 1.24

10/7/2004 Nesneye Yonelik Programlama 1.25 10/7/2004 Nesneye Yonelik Programlama 1.26 Yeni tarz Headers ve Namespaces Yeni C++ standard a gore header files lar.h takisini atarlar. #include <iostream> Coklu kullanilan degiskenlerdeki karmasayi onlemek icin C++ namespaces kavrami getirdi. cin ve cout u kullanabilmek icin Using namespace std; yada sdt::cin ve std::out 10/7/2004 Nesneye Yonelik Programlama 1.27 # include <iostream> //introduces namespace std using namespace std; // creates new namespace namespace somenumbers{ int a =20; float b = 0.00; } int main (void) { int a = 100; float b = 3.1421; a. somenumbers::a somenumbers::b } 10/7/2004 Nesneye Yonelik Programlama 1.28