byanigli
Hectopat
Daha fazla
- Cinsiyet
- Erkek
- Meslek
- student of software engineering
Benim bahsetmek istediğim javada app. yazamasın değil ki. Tabi ki, iyi uygulamalar yazabilirsin. Temel iki konu ele alalım biri Operator Overloading diğeri ise Multiple Iheritace . Operator overloadig ile başlıyalım. Mesela 4 sepetin var, bu sepetin her birinde farklı sayılarda elma ile armut var ve bunları aynı anda toplamak istiyorsun. Ne yapardın ? yada ben biraz matematik karıştırarak Kompleks sayılar üzerinden açıklamaya çalışayım. Bilindiği üzere kompleks sayının bir gerçek kısmı bir de sanal kısmı vardır. Girilen 2 sayının toplamını bulmak istiyorum. ve c++ bana belli başlı operatörlerin yeniden yapılandırmasına izin veriyor bende + operatorunu kullanacağım
C++ Kodları
Normal şartlarda ben + matematiksel işlemlerde toplama operatörü olarak kullanıyordum. şimdi iki farklı türden olanları topladım. Şimdi diyeceksin javada operatör overloading varmı ? Cevap : Bir zamanlar vardı başa çıkamadılar kaldırıldı. Peki java ne ilgilisi var isen java senin kullanmana izin vermiyor ama kendisini kullanıyor.
+ burada operator overloading edilmiştir. iki string ifadeyi birleştirmek için kullanılmıştır. Mesela ben file i/o kullanacam programda text dosyasının her yazdığım string gurublarının arasının 4 boşluk olmasını istiyorum. Çok iyi programlama bilgim var ise , string kütüphanesinde + operatorunu 4 boşluk bırakacak şekilde overload ederim ve kullanırım. Benim anlatmak istediğim bu. Benim c++ bilgim olmasaydı. + operatörünü görünce string işlemde birleştirme , int double gibi veri türlerinde toplama işleme yarar. daha fazlası yok diyecektim
C++ Kodları
Kod:
#include <iostream>
using namespace std;
class kompleks {
Public:
double gercek , sanal;
kompleks(double real,double imagine) { gercek=real; sanal=imagine; }
kompleks operator+ (kompleks& c) const;
};
kompleks operator+(kompleks& c) const {
kompleks resualt;
resualt.sanal=(This->sanal+c.sanal);
resualt.gercek=(This-> gercek+c.gercek);
return resualt;
}
int main()
{
kompleks x(4,9);
kompleks y(2,1);
kompleks z=x+y; // dikkat edersen kompleks classının 2 adet [COLOR=#ff0000]objesini [/COLOR]topladım
cout << "sayınızın gerçek kısmı"<<z.gercek<<"sanal kısmı "<<z.sanal;
}
Normal şartlarda ben + matematiksel işlemlerde toplama operatörü olarak kullanıyordum. şimdi iki farklı türden olanları topladım. Şimdi diyeceksin javada operatör overloading varmı ? Cevap : Bir zamanlar vardı başa çıkamadılar kaldırıldı. Peki java ne ilgilisi var isen java senin kullanmana izin vermiyor ama kendisini kullanıyor.
Kod:
public class ornek{
public static void main(String[] args) {
// string tanımlanması
String myString = "Merhaba dunya";
System.out.println("Uzunluk " + myString.length());
}
}
+ burada operator overloading edilmiştir. iki string ifadeyi birleştirmek için kullanılmıştır. Mesela ben file i/o kullanacam programda text dosyasının her yazdığım string gurublarının arasının 4 boşluk olmasını istiyorum. Çok iyi programlama bilgim var ise , string kütüphanesinde + operatorunu 4 boşluk bırakacak şekilde overload ederim ve kullanırım. Benim anlatmak istediğim bu. Benim c++ bilgim olmasaydı. + operatörünü görünce string işlemde birleştirme , int double gibi veri türlerinde toplama işleme yarar. daha fazlası yok diyecektim