Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
1401
Tıklama
0
Öne Çıkarma
C# Kalıtım hatası
E
10 yıl (958 mesaj)
Yüzbaşı
Konu Sahibi

Merhaba arkadaşlar.Programımda bir sınıf oluşturdum ve bu sınıftan kalıtım almaya çalıştım ve bir yerlerde hata yaptım ancak bir türlü çözemedim. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace class__metot_tanımlama
{
abstract class Transportation
{
protected string customerName;
protected string customerAddress;
protected string customerPhone;
protected string customerFaksnum;
protected string customerMail;
protected string customerWebsite;
protected int customerTaxnumber;
protected string productName;
protected double tonnage;
protected double hacim;
protected DateTime customerOrderdate;
protected double total;
protected double distance;

public virtual void Yazdir(string message)
{
Console.WriteLine("********************************************\n" + message);
Console.WriteLine("\n\n********************************************");
}

public void Yaz()
{
Console.BackgroundColor = ConsoleColor.Red;
Console.Write("Çıkış Yapıldı!");
}

}
class katilar : Transportation
{
private int pktHacim;
public int PktHacim
{
get { return pktHacim; }
set { pktHacim = value; }
}
public override void Yazdir(string message)
{
Yazdir("Toplam Tutar....:" + (tonnage * distance + 1000));
}

}

class gaz : Transportation
{
private int tip;

public int Tip
{
get { return tip; }
set { tip = value; }
}
public override void Yazdir(string message)
{
Yazdir("Toplam Tutar....:" + (hacim * 1.1 * distance + 4000));
}


}
class sivilar : Transportation
{
private int agirlik;
public int Agirlik
{
get { return agirlik; }
set { agirlik = value; }

}

public override void Yazdir(string message)

{
Yazdir("Toplam Tutar....:" + (tonnage * distance) * 1.25);

}

}

class degerliUrun : Transportation
{

private int adet;
private int adetAgirlik;
public int Adet
{
get { return adet; }
set { adet = value; }
}
public int AdetAgirlik
{
get { return adetAgirlik; }
set { adetAgirlik = value; }
}
public override void Yazdir(string message)
{

if ((tonnage / hacim) >= 0.5)
{
total = ((tonnage * 1.5) + (hacim * 1.5)) / 2 + (distance * 1.5);
}
else if
((tonnage / hacim) < 0.5)
{
total = hacim * 1.5 + distance * 2;
}
Yazdir("Toplam Tutar....:" + total);
}
}

}


class Program
{
static void Main(string[] args)
{

gaz gas = new gaz(); /*HATA ALDIĞIM KISIM
katilar solid = new katilar(); //
sivilar fluid = new sivilar(); //
degerliUrun degerliProduct = new degerliUrun(); //
Transportation tasimacilik = new Transportation(); */ BU KISIMA KADAR HATA VERİYOR.
// Transportation gaz = new Transportation();
//Transportation katilar = new Transportation();
// Transportation sivilar = new Transportation();
//Transportation degerliUrun = new Transportation();
int selection;
do
{
Console.Write("Musteri Adi...:");
tasimacilik.customerName = Console.ReadLine();
Console.Write("Adres...:");
tasimacilik.customerAddress = Console.ReadLine();
Console.Write("Telefon...:");
tasimacilik.customerPhone = Console.ReadLine();
Console.Write("Fax...:");
tasimacilik.customerFaksnum = Console.ReadLine();
Console.Write("Mail...:");
tasimacilik.CustomerMail = Console.ReadLine();
Console.Write("Web Adresi...:");
tasimacilik.customerWebsite = Console.ReadLine();
Console.Write("Vergi No...:");
tasimacilik.customerTaxnumber = int.Parse(Console.ReadLine());
DateTime zaman = DateTime.Now;
tasimacilik.customerOrderdate = zaman;
Console.Write("Sipariş Tarihi...:" + tasimacilik.customerOrderdate.ToString("dd-MM-yyyy") + "\n");
Console.Write("Taşınacak Mesafe...:");
tasimacilik.distance = double.Parse(Console.ReadLine());
Console.WriteLine("******___Taşınacak Ürün___******");
Console.Write("1---Sıvı\n2---Katı\n3---Gaz\n4---Değerli Ürün\n5---Çıkış\nSeçiminiz...:");
selection = int.Parse(Console.ReadLine());
switch (selection)
{
case 1:
Console.Write("Sıvı ürününün adı...:");
fluid.productName = Console.ReadLine();
Console.Write("Sıvı ürününün tonajı...:");
fluid.tonnage = double.Parse(Console.ReadLine());
Console.Write("Sıvı ürününün özgül ağırlığı...:");
fluid.agirlik = int.Parse(Console.ReadLine());
fluid.distance = tasimacilik.distance;
fluid.Yazdir();
break;
case 2:
Console.Write("Katı ürününün adı...:");
solid.productName = Console.ReadLine();
Console.Write("Katı ürününün tonajı...:");
solid.tonnage = double.Parse(Console.ReadLine());
Console.Write("Katı ürününün paket hacmi...:");
solid.PktHacim = int.Parse(Console.ReadLine());
solid.distance = tasimacilik.distance;
solid.Yazdir();
break;
case 3:
Console.Write("Gaz ürününün adı...:");
gas.productName = Console.ReadLine();
Console.Write("Gaz ürününün hacmi...:");
gas.hacim = double.Parse(Console.ReadLine());
Console.Write("Gaz ürününün tipi...:");
gas.Tip = int.Parse(Console.ReadLine());
gas.distance = tasimacilik.distance;
gas.Yazdir();
break;
case 4:
Console.Write("Değerli ürününün adı...:");
degerliProduct.productName = Console.ReadLine();
Console.Write("Değerli ürününün hacmi...:");
degerliProduct.hacim = double.Parse(Console.ReadLine());
Console.Write("Değerli ürününün tonajı...:");
degerliProduct.tonnage = double.Parse(Console.ReadLine());
Console.Write("Değerli ürününün adedi...:");
degerliProduct.adet = int.Parse(Console.ReadLine());
Console.Write("Değerli ürününün adet ağırlığı...:");
degerliProduct.adetAgirlik = int.Parse(Console.ReadLine());
degerliProduct.distance = tasimacilik.distance;
degerliProduct.Yazdir();
break;
default:
if (selection == 5)
break;

else
Console.WriteLine("\aHatalı Seçim!Lütfen tekrar deneyin.");
continue;

}
}
while (selection != 5);
tasimacilik.Yaz();
Console.ReadKey();
}
}


DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi el-harezmi_0 -- 14 Nisan 2016; 2:14:42 >

G
10 yıl (2540 mesaj)
Binbaşı

 
/*
* Created by SharpDevelop.
* User: BEYZA
* Date: 05.04.2016
* Time: 18:00
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;

namespace class__metot_tanımlama
{
class Transportation
{
static void Main(string[] args)
{

gaz gas = new gaz();
katilar solid = new katilar();
sivilar fluid = new sivilar();
degerliUrun degerliProduct = new degerliUrun();
Transportation tasimacilik = new Transportation();
Transportation gaz = new Transportation();
Transportation katilar = new Transportation();
Transportation sivilar = new Transportation();
Transportation degerliUrun = new Transportation();
int selection;
do
{
Console.Write("Musteri Adi...:");
tasimacilik.customerName = Console.ReadLine();
Console.Write("Adres...:");
tasimacilik.customerAddress = Console.ReadLine();
Console.Write("Telefon...:");
tasimacilik.customerPhone = Console.ReadLine();
Console.Write("Fax...:");
tasimacilik.customerFaksnum = Console.ReadLine();
Console.Write("Mail...:");
tasimacilik.customerMail = Console.ReadLine();
Console.Write("Web Adresi...:");
tasimacilik.customerWebsite = Console.ReadLine();
Console.Write("Vergi No...:");
tasimacilik.customerTaxnumber = int.Parse(Console.ReadLine());
DateTime zaman = DateTime.Now;
tasimacilik.customerOrderdate = zaman;
Console.Write("Sipariş Tarihi...:" + tasimacilik.customerOrderdate.ToString("dd-MM-yyyy") + "\n");
Console.Write("Taşınacak Mesafe...:");
tasimacilik.distance = double.Parse(Console.ReadLine());
Console.WriteLine("******___Taşınacak Ürün___******");
Console.Write("1---Sıvı\n2---Katı\n3---Gaz\n4---Değerli Ürün\n5---Çıkış\nSeçiminiz...:");
selection = int.Parse(Console.ReadLine());
switch (selection)
{
case 1:
Console.Write("Sıvı ürününün adı...:");
fluid.productName = Console.ReadLine();
Console.Write("Sıvı ürününün tonajı...:");
fluid.tonnage = double.Parse(Console.ReadLine());
Console.Write("Sıvı ürününün özgül ağırlığı...:");
fluid.Agirlik = int.Parse(Console.ReadLine());
fluid.distance = tasimacilik.distance;
fluid.Yazdir("mesaj");
break;
case 2:
Console.Write("Katı ürününün adı...:");
solid.productName = Console.ReadLine();
Console.Write("Katı ürününün tonajı...:");
solid.tonnage = double.Parse(Console.ReadLine());
Console.Write("Katı ürününün paket hacmi...:");
solid.PktHacim = int.Parse(Console.ReadLine());
solid.distance = tasimacilik.distance;
solid.Yazdir("mesaj");
break;
case 3:
Console.Write("Gaz ürününün adı...:");
gas.productName = Console.ReadLine();
Console.Write("Gaz ürününün hacmi...:");
gas.hacim = double.Parse(Console.ReadLine());
Console.Write("Gaz ürününün tipi...:");
gas.Tip = int.Parse(Console.ReadLine());
gas.distance = tasimacilik.distance;
gas.Yazdir("mesaj");
break;
case 4:
Console.Write("Değerli ürününün adı...:");
degerliProduct.productName = Console.ReadLine();
Console.Write("Değerli ürününün hacmi...:");
degerliProduct.hacim = double.Parse(Console.ReadLine());
Console.Write("Değerli ürününün tonajı...:");
degerliProduct.tonnage = double.Parse(Console.ReadLine());
Console.Write("Değerli ürününün adedi...:");
degerliProduct.Adet = int.Parse(Console.ReadLine());
Console.Write("Değerli ürününün adet ağırlığı...:");
degerliProduct.AdetAgirlik = int.Parse(Console.ReadLine());
degerliProduct.distance = tasimacilik.distance;
degerliProduct.Yazdir("mesaj");
break;
default:
if (selection == 5)
break;

else
Console.WriteLine("\aHatalı Seçim!Lütfen tekrar deneyin.");
continue;

}
}
while (selection != 5);
tasimacilik.Yaz();
Console.ReadKey();
}
public string customerName;
public string customerAddress;
public string customerPhone;
public string customerFaksnum;
public string customerMail;
public string customerWebsite;
public int customerTaxnumber;
public string productName;
public double tonnage;
public double hacim;
public DateTime customerOrderdate;
public double total;
public double distance;

public virtual void Yazdir(string message)
{
Console.WriteLine("********************************************\n" + message);
Console.WriteLine("\n\n********************************************");
}

public void Yaz()
{
Console.BackgroundColor = ConsoleColor.Red;
Console.Write("Çıkış Yapıldı!");
}

}
class katilar : Transportation
{
private int pktHacim;
public int PktHacim
{
get { return pktHacim; }
set { pktHacim = value; }
}
public override void Yazdir(string message)
{
Yazdir("Toplam Tutar....:" + (tonnage * distance + 1000));
}

}

class gaz : Transportation
{
private int tip;

public int Tip
{
get { return tip; }
set { tip = value; }
}
public override void Yazdir(string message)
{
Yazdir("Toplam Tutar....:" + (hacim * 1.1 * distance + 4000));
}


}
class sivilar : Transportation
{
private int agirlik;
public int Agirlik
{
get { return agirlik; }
set { agirlik = value; }

}

public override void Yazdir(string message)

{
Yazdir("Toplam Tutar....:" + (tonnage * distance) * 1.25);

}

}

class degerliUrun : Transportation
{

private int adet;
private int adetAgirlik;
public int Adet
{
get { return adet; }
set { adet = value; }
}
public int AdetAgirlik
{
get { return adetAgirlik; }
set { adetAgirlik = value; }
}
public override void Yazdir(string message)
{

if ((tonnage / hacim) >= 0.5)
{
total = ((tonnage * 1.5) + (hacim * 1.5)) / 2 + (distance * 1.5);
}
else if
((tonnage / hacim) < 0.5)
{
total = hacim * 1.5 + distance * 2;
}
Yazdir("Toplam Tutar....:" + total);
}
}

}






Bu mesaja 1 cevap geldi.
E
10 yıl (958 mesaj)
Yüzbaşı
Konu Sahibi

Hocam elinize sağlık zaman ayırdığınız için çok teşekkür ederim.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.