Bir mini market programı uygulamak istiyorum. (Mallar) adında soyut bir sınıf ve ondan iki türetilmiş sınıf (kuru ve soğuk ürünler) vardır. Bundan sonra bazı öğeler nasıl eklenir? (yumurta, süt, pirinç ... vb)Soyut sınıf C# nasıl oluşturulur?
cevap
Soyut bir sınıf oluşturamazsınız. Tek amaç, bir temel sınıf olarak hareket etmektir. aşağıda gösterildiği gibi Kişisel Yumurta, Süt, pirinç sınıf, Mal türetme ve işlevselliğini uygulamak gerekir: Sonra Kuru veya Soğuk mal devralan daha ilkel öğesi olabilir
public abstract class Goods
{
}
public class DryGoods : Goods
{
}
public class ColdGoods : Goods
{
}
.
public class Egg : DryGoods
{
}
public class Milk : ColdGoods
{
}
size sadece doğrudan türetilmiş DryGoods
veya ColdGoods
türlerini kullanmak ve bir GoodsType
özelliği olabilir Milk
veya Egg
olarak hafif sınıfları (Ya transfer nesneleri) gerekmez Alternatif eğer:
DryGoods egg = new DryGoods();
egg.GoodsType = DryGoods.Egg;
ColdGoods milk = new ColdGoods();
milk.GoodsType = ColdGoods.Milk;
'DryGoods' ve' ColdGoods' da muhtemelen soyut olmalı, kodun uğruna değil, iş mantığı uğruna. –
Eğer olsaydınız, yeni bir Varlık oluşturmak yerine birtakım DryGoods ve ColdGoods oluşturur. –
Türetilmiş sınıflardan nesne yaparsam, (GoodsType) kullanımı nedir? – Saja
Alt sınıfın nesnesini almalı ve bu alt sınıf nesnesini kullanarak değerleri ayarlayabilirsiniz. Soyut bir sınıf oluşturamazsın.
public class Egg : Good { }
public class Milk : Good { }
public class Rice : Good { }
Artık ekleyebilirsiniz: Eğer Adlandırılan sınıfları orada
public abstract class Good { }
Ve: Sen .. sadece bir temel sınıf olarak
Teşekkürler, nesneleri nasıl yapmalıyım? WinForm uygulamasında ? Sahip olduğu .cs dosyasında – Saja
. Alt sınıfta bir nesne yapmalısınız. –
Bak kullanabilirsiniz, bir soyut temel sınıf var Baz sınıfına ait özellikler ve yöntemler.
Artık Ayrıca Özellikleri ve Yöntemleri Named sınıflar Yumurta, Süt için, ve Rice :) ekleyebiliryeniden adlandırmak varsa şimdi de, birden Yumurta, Süt ve Rice olabilir Goods
Good
için:
var allGoods = new List<Good>();
var eggs = new Egg[16];
allGoods.Add(eggs);
var milk = new Milk[64];
allGoods.Add(milk);
var rice = new Rice[64];
allGoods.Add(rice);
Sadece "DryGoods" veya "ColdGoods" dan miras aldınız? Sahip olduğunuz sınıfları ve diğerlerini nasıl kullanmak istediğinizi sordurabilir misiniz? (Yumurta, süt vb) – Rhumborl
Başka bir dersim var (buzdolabı), (raflar) ve (araba) Öğeleri kullanmak istiyorum onları raflara veya buzdolabına koymak için. ve ürünleri göstermek için bir form hazırlayın, onları sepete ve kasaya koyun, müşteriler gibi – Saja