Witam, jak utworzyć własną klasę zawierającą statyczne i dynamiczne pola, metody, konstruktory i właściwości? Próbowałem to zrobić na podstawie tych co miałem jako przykłady ale nie wychodziło mi. Posiadam Visual Studio 2010.
Wersja do druku
Witam, jak utworzyć własną klasę zawierającą statyczne i dynamiczne pola, metody, konstruktory i właściwości? Próbowałem to zrobić na podstawie tych co miałem jako przykłady ale nie wychodziło mi. Posiadam Visual Studio 2010.
wklej swoj kod to Ci powiem co robisz źle
#EDIT
tym bardziej nie wiem czym w C# są dynamiczne pola, czy Ci się jezyki nie powaliły? z C++?
public class Samochod
{
public Samochod(string marka, double cena)
{
this.marka = marka;
this.cena = cena;
}
public Samochod()
{
this.cena = 1000;
}
private string marka = "fiat";
public string Marka
{
get { return marka; }
set { marka = value; }
}
private double cena = 1000;
public double Cena
{
get { return cena; }
}
public void WyswietlSamochod()
{
((Form1)Application.OpenForms[0]).lbox1.Items.Add(marka + " - " + cena);
}
}
private void btnZadanie6_Click(object sender, EventArgs e)
{
Samochod fiat = new Samochod();
fiat.WyswietlSamochod();
}
mamy początki z c# za zajęciach i nam powiedzieli że w c# są dynamiczne pola
nawet klamerki się nie zgadzają, dalej myśleć co czarujesz mi się nie chce, popraw klamerki, wytabuj, wklej w code jeśli dalej nie bangla
chcę do tego zrobić dynamiczne pole. jest to tylko część kody z którym mam problemKod:public class Samochod
{
public Samochod(string marka, double cena)
{
this.marka = marka;
this.cena = cena;
}
public Samochod()
{
this.cena = 1000;
}
private string marka = "fiat";
public string Marka
{
get { return marka; }
set { marka = value; }
}
private double cena = 1000;
public double Cena
{
get { return cena; }
}
public void WyswietlSamochod()
{
((Form1)Application.OpenForms[0]).lbox1.Items.Add(marka + " - " + cena);
}
}
private void btnZadanie6_Click(object sender, EventArgs e)
{
Samochod fiat = new Samochod();
fiat.WyswietlSamochod();
}
okej, pierwsza sprawa. Jak wrzucasz kod to zawsze wrzucaj go w tagi [.code][./code] (bez kropek)
w C# nie używa się określenia pola dynamiczne, to nie jest C++ gdzie np tablice dynamiczne są na stercie a statyczne na stosie.
Jednak używa się określenia - pole statyczne. Jest to takie pole, które jest wspólne dla wszystkich obiektów danej klasy, możesz go użyć np do zliczania obiektów danej klasy (w konstruktorze jebniesz ilosc++;).
Jak masz jakieś pytania to zadawaj, jeśli Twoj kod nie działa tzn, że go zerżnąłem żywcem i nawet nie masz kontrolek których używasz. Co to jest konstruktor, właściwość, pole, metoda masz w necie miliard stron o tym. Jeżeli to przeczytasz i wraz nie zrozumiesz to pisz
kurwa, ja tego serio nie czaje ;D Czym w Twoim rozumowaniu jest dynamiczne pole?
program ogólnie działa jak naciskam na button to wyświetla dane w listbox'ie ale może źle jest to sformułowane przez prowadzącego zajęcia le także podawał termin składowe dynamiczne może o to mu chodzi chociaż nie wiem czy to jest to samo.
a uważasz, ze jemu chodzi o typy dynamiczne? :D
http://msdn.microsoft.com/pl-pl/libr...ynamiczne.aspx
TE TYPY DYNAMICZNE? :D
weź Ty powiedz co Ci dokładnie nie działa, nie dodaje się do listboxa czy co? Z tego kodu gówno widac co Ci może nie działać
ogólnie to sobie już poradziłem z tym tylko chciałem się dowiedzieć jak to jest z tymi polami dynamicznymi ale jak mówisz że nie ma czegoś takiego w c# więc raczej już problem jest rozwiązany chociaż koleś chce tych pól dynamicznych(http://kzi.polsl.pl/csharp/ -lab2. zadanie 6)
tym, że składowe statyczne są wspólne dla wszystkich obiektów danej klasy.Cytuj:
Czym różniš się składowe statyczne i dynamiczne klasy Definiowania składowych statycznych?
no i teraz w mainKod:class Samochod
{
string nazwa;
static int ilosc = 0;
Samochod(){
nazwa = "maluch";
ilosc++;
}
}
Tylko, że serio w C# nie nazywa się pól niestatycznych - dynamicznymi :D bez jaj, nie wiem czego koleś tak to wam opisałKod:Samochod auto1 = new Samochod();
Samochod auto2 = new Samochod();
Console.WriteLine(auto1.ilosc); //wypisze 2
Console.WriteLine(auto2.ilosc); //też wypisze 2
//i teraz uwaga
auto1.ilosc = 5;
Console.WriteLine(auto2.ilosc) //jak myślisz, co wypisze?
@barteczek
Polecam zobaczyc zrodlo tej strony z zadaniami ;)
A tu: aHR0cDovL2t6aS5wb2xzbC5wbC90aS9QeXRhbmlhVEkyMDEzLn BkZg== masz ten link z komentarza...