THT DUYURU

chat
C/C++ Çok paradigmalı ve çok kullanılan C/C++ dillerinin dökümanlarının paylaşım alanı.

ugursuz reklam
takipci
Seçenekler

C ++ Ders 6: UML Diyagramı ve Parametreli Fonksiyonlar

ratio - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Nereden:
Turk
Mesajlar:
2.454
Konular:
104
Teşekkür (Etti):
223
Teşekkür (Aldı):
447
Ticaret:
(0) %
4
970
2 Hafta önce
#1
Birleştirilmiş Modelleme Dili Sınıf Diyagramı (UML Class Diagram)

Birleştirilmiş Modelleme Dili, yazılım geliştiricileri tarafından nesne yönelimli sistemlerini temsil etmek için kullanılan standartlaştırılmış bir grafik dilidir. Birleştirilmiş Modelleme Dili’nde her sınıf üç bölmeli bir dikdörtgen olarak modellenir. Sınıfın adı en üste kalın ve ortalanmış şekilde yazılır. Orta kısımda veri üyelerine karşılık gelen özellikleri yazılır. (Class attributes) Alt kısımda ise sınıfa ait fonksiyonlar fonksiyon ismi ve sonuna parantez getirilerek yazılır. (Memberfunctions) Fonksiyonun başına artı (+) işareti koyulması fonksiyonun genel (public) bir fonksiyon olduğunu gösterir.

Geçen ders son yaptığımız örneğe göre bir UML örneği ekleyecek olursak;

Burada sınıfımızın adı “NotDefteri”ydi. Sınıfımıza ait özellik yoktu ve sınıfımızın mesajiGoster isimli public bir fonksiyonu vardı.








Not: Ek bilgi eklenmesi gerektiğinde fonksiyonun parantezlerinin arasına eklenebilir. Örn; fonksiyonun parametreleri gibi.



Fonksiyonları Parametre ile Tanımlama

Bir banka hesabına para yatırmak için bir fonksiyonumuz olsun. Burada fonksiyona dışarıdan bir veri, değer girmemiz gerekir ki fonksiyonun içinde bu veriyi kullanıp sonuç elde edelim. Bunu sağlamak için parametreleri kullanıyoruz. Bir fonksiyon bir veya birden fazla parametre içerebilir. Basitçe, fonksiyonun görevini yerine getirebilmesi için dışarıdan ihtiyaç duyduğu verilerdir. Örneğin hesabınıza paraYatır fonksiyonu ile 20tl yatıracaksınız. Ancak, paraYatır fonksiyonu ne kadar yatıracağınızı bilmiyor. Burada veriye ihtiyaç duyuyor ve biz 20 değerini parametre olarak belirlenmiş yere yazacağız. Örn; paraYatır(20)…

Daha iyi anlamak için geçen dersteki notDefteri örneğimize devam edelim. Ancak, bu sefer giriş mesajında kullanıcıdan veri alsın ve daha sonra girilen veriyi parametre olarak kullanarak yazdırsın.


Kod:
// Bir parametre alan bir üye işlevi olan sınıf NotDefterini tanımlayın; 

// Bir NotDefteri nesnesi oluşturun ve mesajiGoster işlevini çağırın. 

#include <iostream>

#include <string> // program C++'ın standart string sınıfını kullanıyor. 
using namespace std; 

// NotDefteri sınıfının tanımlanması 
       
class NotDefteri 

{ 

public: 

    // Kullanıcıya mesajı gösterecek olan fonksiyon 

    **** mesajiGoster( string hazirlayan ) 

    { 

        cout << "Hoşgeldiniz, bu NotDefteri " << hazirlayan << " tarafından hazırlanmıştır!" << endl; 

    } // mesajiGoster fonksiyonunun sonu 

}; // NotDefteri sınıfının sonu 

// Main fonksiyonun başlangıcı 

int main() 

{ 

    string hazirlayan; // hazirlayanin adını saklayacak olan string veri tipi 

    NotDefteri benimNotDefterim; // benimNotDefterim isimli bir NotDefteri oluşturulması 


     // Hazırlayanın adının girilmesi için komut istemi ve veri girişi 

    cout << "Lütfen hazırlayanın adını giriniz." << endl; 

    getline( cin, hazirlayan); // hazirlayanın adının okunması 

    cout << endl; // boş bir satır çıktısı


    // benimNotDefterimin mesajiGoster fonksiyonunun çağırılması 

    // ve hazırlayanın parametre olarak girilmesi 

    benimNotDefterim.mesajiGoster( hazirlayan); 

} // Main fonksiyonun sonu





Burada string sınıfına ait getline fonksiyonu input( veri girişi) almamızı sağlar. Enter’a basana kadar ki yazdığımız kısmı alır ve hazirlayan parametresine atar. Aslında bakarsanız burada da getline fonksiyonun da iki adet parametre kullanılmış. Birinci parametre cin yani veri almak için kullandığımız komut, ikincisi ise hazirlayan yani girdiğimiz string değerinin adı.



Burada bilmemiz gerekenler, parametreli bir fonksiyon tanımlarken parametrenin veri tipini ve değişkenin adını girmemiz gerekiyor. Örneğin, string hazirlayan; eğer birden fazla parametremiz var ise aralarına virgül koyarak devam edebiliriz. Örneğin, string hazirlayan, string isim, string soyisim vb.

Parametreli bir fonksiyonu kullanırken, gireceğimiz veriler tanımladığımız sırada girilmeli ve parantez içine yazılmalı. Bir parametre için örnek; mesajiGoster( ratio); birden fazla parametre için örnek; mesajiGoster( ratio, TurkHackTeam, THT)…



Not: Fonksiyonun sonuna noktalı virgül koyulması syntax hatasına yol açar.

Not: Fonksiyonun içinde parametreyi tekrar tanımlamaya çalışmak derleme hatasına yol açar.

Not: Fonksiyonun içinde veya parametrede aynı isimde değişkenler kullanamazsınız.

Not: Parametre ve değişkenlerin isimlerinin anlamlı olması kodunuzun okunabilirliğini arttırır.


NotDefteri Sınıfı için güncellenmiş UML Diyagramı

---------------------
Copyright decrypted
Konu ratio tarafından ( 2 Hafta önce Saat 12:33 ) değiştirilmiştir.
"Bin4ry, osm4nl1evl4d1, "aqua, Codx, SiyahYunus Teşekkür etti.
Codx - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
07/2017
Mesajlar:
275
Konular:
29
Ticaret:
(0) %
2 Hafta önce
#2
Eline sağlık, anlatımı beğendim.
---------------------
Başarılarının toplamısın, başarızlıklarından arta kalanlar değil.



ratio - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Nereden:
Turk
Mesajlar:
2.454
Konular:
104
Teşekkür (Etti):
223
Teşekkür (Aldı):
447
Ticaret:
(0) %
2 Hafta önce
#3
Alıntı:
Codx´isimli üyeden Alıntı Mesajı göster
Eline sağlık, anlatımı beğendim.

Teşekkürler.
---------------------
Copyright decrypted
SiyahYunus - ait Kullanıcı Resmi (Avatar)
İstihbarat Tim (Stajyer)
Üyelik tarihi:
01/2020
Nereden:
City Of God
Yaş:
29
Mesajlar:
486
Konular:
17
Teşekkür (Etti):
121
Teşekkür (Aldı):
183
Ticaret:
(0) %
2 Hafta önce
#4
Eline sağlık
---------------------
"Karanlık yolların içinden çıkıp adım atıyorum gökyüzüne"
SiyahYunus / 2020
ratio - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Nereden:
Turk
Mesajlar:
2.454
Konular:
104
Teşekkür (Etti):
223
Teşekkür (Aldı):
447
Ticaret:
(0) %
2 Hafta önce
#5
Alıntı:
SiyahYunus´isimli üyeden Alıntı Mesajı göster
Eline sağlık

Teşekkürler.
---------------------
Copyright decrypted

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler