"Zagadnienia" okienkowe

0

Na początek kilka pytań o profesjonalne definicje:

  • Co oznacza deklaracja
private: System::Windows::Forms::Button^  button1;
  • Co oznacza deklaracja
this->button1->TabIndex = 0;
  • Co oznacza deklaracja
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
  • Dodatkowo proszę o profesjonalną definicję zdarzenia (event), właściwości (properties), deklaracji. (profesjonalną oznacza tak jak to powinien rozumieć programista z krwi i kości - mój wykładowca ma bzika na punkcie czytania kodu i takich regułek, nieważne, że człowiek wie o co chodzi).
3

Ja sie wypowiem pod kątem c#, nie jestem pewien, czy są propertiesy w c++ (i jak one sie maja do tych z c#)

Otóż:

Deklaracja jest to, krótko mówiac, określenie że zmienna o takiej nazwie będzie takiego typu (ewentualnie można dodawać różne modyfikatory, które tą zmienną dodatkowo "dookreślają" - private/public, readonly, volatile itd). Warto tutaj odróżniać deklaracje od definicji (prowadzący moze być na to uczulony, skoro to pedant), definicja to przypisanie czegoś do zmiennej w momencie deklaracji (poźniej teoretycznie też, ale wtedy sie mowi raczej juz po prostu o pzypisaniu)

Event (w moim rozumieniu) jest to pewnego rodzaju mechanizm, ktory pozwala na wprowadzenie funkcjonalności powiadamiania o czymś, subskrypcji, reakcji na coś, co nie wiemy kiedy sie wydarzy itd

Property to taka specjalna konstrukcja, którą można troche rozumieć jako wypaśne pole składowe - pozwala ono na oprogramowanie operacji get/set na tej zmiennej

private: System::Windows::Forms::Button^  button1;

oznacza, ze zmienna o nazwie button1 bedzie typu Button, która jest w przestrzeni nazw System::Windows::Forms. Dodatkowo zmienna bedzie prywatna (dostepna tylko w tej klasie)

this->button1->TabIndex = 0;

w zmiennej button1, ktora jest w obecnej instancji klasy (this), przypisujemy 0 do jej wlasciwosci TabIndex

this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);

Przypisujemy handler do zdarzenia Click obiektu button1. Handlerem bedzie metoda (funkcja?) button1_Click. W skrócie przypisanie handlera, to okreslenie, która metoda ma sie wywolac, jak to zdarzenie nastapi, czyli w tym przypadku, jak ktos kliknie w buttona

1

mysle ze @FakeAccount bardzo dobrze to wyjasnil, nie bardzo rozumiem o co chodzi z tymi 'profesjonalnymi definicjami', brzmi to troche jak oksymoron. mysle ze programisci 'z krwi i kosci' nie rozplywaja sie nad definicjami a bardziej interesuje ich praktyczne zastosowanie i zrozumienie zagadnienia.
czego w takim razie oczekuje ten twoj wykladowca? jak to wyglada w IL? a moze kod maszynowy? ;)

a) event i b) property to lukier skladniowy wspomagajacy enkapsulacje odpowiednio a) pol typu delegatowego i b) pol dowolnego typu. kompilator generuje z nich normalne metody.
deklaracja to zarezerwowanie nazwy i/lub obszaru pamieci.

1 użytkowników online, w tym zalogowanych: 0, gości: 1