Diskuze: proměnná this
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
this = aktuální instance třídy
Když máš třeba okno pojmenovaný "Form1" a napíšeš this, tak se
odkazuješ na ten Form1
tzn
this.Size = new Size(100,100);
je totožné s tímto
Form1.Size = new Size(100,100);
Už to chápu nemusíš odpovídat díky moc,konečně se můžu vrhnout do
nových tutoriálů
Čus, this není proměnná, spíš bych to nazval ukazatelem na aktuální instanci, pomocí, kterého můžeš přistupovat k jednotlivým proměnným, pro příklad si vezmi např. třídu Člověk, ta bude mít proměnné jméno a věk, při vytváření instance třídy člověk budeš chtít tyhle hodnoty nastavit, to znamená v konstruktoru.
public class Clovek{
private String name;
private int age;
//konstruktor
public Class(String name, int age){
this.name = name;
this.age = age;
}
}
Tady jsi jedné konkrétní instanci nastavil jméno Lukáš a věk 22.
Instanci pak vytvoříš
Clovek c = new Clovek("Lukáš", 22);
To může i bez this když je pojmenuje jinak, to jsi mu to moc nevysvětlil. Mám dojem, že je tam na to nějaké cvičení. Každopádně si představ, že máš třídu garáž a auto:
class Auto
{
}
class Garaz
{
public auto;
}
Garáž má jako atribut auto, které v ní je uložené. Teď jak dát auto metodu, která ho zaparkuje do garáže?
class Auto
{
public void ZaparkujDoGaraze(Garaz garaz)
{
garaz.auto = this;
}
}
Do garáže se uloží to auto, na kterém se metoda volá. Tedy this. Program je potom:
class Program
{
public static void main()
{
Garaz garazePraha = new Garaz();
Auto skoda = new Auto();
Auto bmw = new Auto();
skoda.ZaparkujDoGaraze(garazePraha);
bmw.ZaparkujDoGaraze(garazePraha);
}
}
Poprvé je v this skoda, podruhé tam je bmw. Je tam zkrátka ta instance, na které se volá ta metoda.
Pokud to pořád nepochopí tak fakt doporučuji ta cvičení.
Docela už to chápu cvičení si určitě udělám,ale je mi 14,nějakou tu
kreditku nemám a máma to taky nepodporuje.Jedině jak jsem někde četl,že
někdy to bude za sms,ale to by bylo asi předražený.No chvíli
počkám,včera jsem si po druhý podal žádost o redaktorská práva,tak
chvíli počkám a kdyžtak potom si zkusím na ty cvičení našetřit
To se tu již milionkrát řešilo, místo do MC Donald's si zajdi na poštu. Vyplníš poukázku A a můžeš si koupit cvičení, opravdu zde není na co se vymlouvat. Na dalších platebních metodách se pracuje.
Jo aha to promin sice jsem se díval,ale nenašel jsem to.Ale je to teda
super v pátek nebo v pondělí si tam zajdu nějaký prachy mám
našetřený,tak vím kam to dám .
Zobrazeno 9 zpráv z 9.