klasy w VB
Oglądasz archiwalną wersję wątku "klasy w VB" z forum pl.comp.lang.vbasic
Pawel Horos
Witam!
Ostatnio zacząłem bawić się VB i jestem ciekawy jak to jest z klasami
w tym języku.
Dokładniej chodzi mi o możliwość zrobienia klasy która w C++ wyglądała
by mniejwięcej tak:

class MojaKlasa
{
 private:
        ........
 public:
  MojaKlasa(int par0,int par1,int par2);
  double  JakiesTamFunkcje(parametry);

};


Chciałbym się dowiedzieć co jest odpowiednikiem konstruktora klasy w
VB.
Wiem że istnieje coś takiego jak Class_Initialize() i to co jest
zawarte w nim jest wykonywane przy stworzeniu instancji mojej klasy.
Ale czy można tam umieśćić jakieś parametry ? W C++ mój konstruktor
wyglądałby tak:

MojaKlasa::MojaKlasa(int par0,int par1,int par2)
{
 /* tu jakies wstepne przygotowania prywatnych zmiennych */
....

}


Dalej w programie w jakiejs procedurce robie coś takiego:
.....
MojaKlasa Obiekcik(a,b,c);
....

a pozniej gdzies
....
coś=Obiekcik.JakiesTamFunkcje(param.....);
....

no i pytanie jak wszystkie powyższe linijki zamienić na kod w VB????
 a konkretnie czy można zrobic Class_Initialize(par0 As Integer,
par1....) i jak stworzyć instancje tej klasy gdzieś w programie.

Paweł Horoś

ICQ UIN:8856173

Wieslaw Wronowicz

Witam!
Ostatnio zacząłem bawić się VB i jestem ciekawy jak to jest z klasami
w tym języku.


W VB5 programista może tworzyć obiekty klas własnych, dla takiej klasy można
zdefiniować dowolne wła ciwo ci, metody i zdarzenia. Można również
rozszerzyć standartowe klasy o dodatkowe wła ciwo ci, metody i zdarzenia. Do
tego celu służy plik CLS.
Opisane jest to dokładnie w rozdziale "Programowanie obiektowe" Podręcznika
Programisty w języku polskim, lub w Books Online po angielsku jeżeli masz
pirata.
Pozdrawiam.
Wiesiek

Pawel Horos


W VB5 programista może tworzyć obiekty klas własnych, dla takiej klasy można
zdefiniować dowolne właściwości, metody i zdarzenia. Można również
rozszerzyć standartowe klasy o dodatkowe właściwości, metody i zdarzenia. Do
tego celu służy plik CLS.
Opisane jest to dokładnie w rozdziale "Programowanie obiektowe" Podręcznika
Programisty w języku polskim, lub w Books Online po angielsku jeżeli masz
pirata.
Pozdrawiam.
Wiesiek


Mam VB6, a help w MSDN nie mówi o tym co chcę zrobić - czyli taki

Paweł Horoś

ICQ UIN:8856173

Siudek Slawomir

Witam!
Tez witam :)
Ostatnio zacząłem bawić się VB i jestem ciekawy jak to jest z klasami
w tym języku.
Dokładniej chodzi mi o możliwość zrobienia klasy która w C++ wyglądała
by mniejwięcej tak:

class MojaKlasa
{
private:
........
public:
 MojaKlasa(int par0,int par1,int par2);
 double  JakiesTamFunkcje(parametry);
};

Chciałbym się dowiedzieć co jest odpowiednikiem konstruktora klasy w
VB.


Uwaga1: Nie ma w klasach (mowa wszedzie o VB5) czegos takiego jak
konstruktor. Jest natomiast - uwaga - zdarzenie inicjalizacji klasy
(Class_Initialize) i destrukcji klasy (Class_Terminate). A jak to ze
zdarzeniami, mozesz je obsluzyc lub nie, ale nie mozesz modyfikowac jego
parametru czy wynikow (zreszta jedno lub drugie tu nie wystepuje)

Wiem że istnieje coś takiego jak Class_Initialize() i to co jest
zawarte w nim jest wykonywane przy stworzeniu instancji mojej klasy.


W/w to wlasnie zdarzenie inicjalizacji klasy. Zdarzeniem, wystepujacym przy
destrukcji klasy jest Class_Terminate. Co wiecej, zdarzenie inicjalizacyjne
jest wywolane nie w chwili powolania do zycia zmiennej obiektowej, tylko w
chwili pierwszego do niej odwolania. Znaczy to tyle, ze - deklarujac zmienna
np. typu MojaKlasa, nie zostanie instancja zaladowana do pamieci do chwili
wystapienia jekiegokolwiek odwolania do tej zmiennej. Przykladowo
Zakladamy, ze MojaKlasa posiada jakas wlasciwosc, np. Visible
Przyklad:
Private Function Test(x as long)
    dim MK as MojaKlasa
    if x=1 then
       MK.Visible = TRUE
    endif
End sub
W powyzszym przykladzie dla X <1 dla zmiennej MK typu MojaKlasa nie
nastapia zdarzenia Initialize i Terminate. Mozna to sprawdzic umieszczajac w
tych zdarzeniach podpowiednie komunikaty przez MsgBox.

Jak stworzyć instancje tej klasy gdzieś w programie.


Dwa proste sposoby
Sposob1
    Dim MK as MojaKlasa 'Deklaracja zmiennej obiektowej
    set MK = new MojaKlasa 'Zaladowanie instancji
Sposob2
    Dim MK as New MojaKlasa 'deklaracja zmiennej z zaladowaniem instancji.

Jesli jestes zalamany tymi mozliwosciami (najsilniejsze to one nie sa). to
nie badz taki szybki w ocenie. Pisalem obiekty w Delphi, Assemblerze (TASM
5.0.- jest mozliwosc deklaracji biektow) i, oczywiscie, w VB i Microsoft
Office 8.0. Wszedzie obiekty sa dostosowane do filozofii jezyka. Jesli
chcesz wiedziec, co tu jest mocna strona tych obiektow - zajrzyj do
dokumentacji tworzenia serwerow activex w VB (tu wlasnie wylazi ich mocna
strona) i sposobach zarzadzania kolekcjami obiektow. A co tu jest najgorsza
wada? Nie mozna zrobic dziedziczenia. I to dyskwalifikuje pisanie w VB
projektow wykonanych obiektowo. Ale w koncu VB jest do baz danych :)
A moze sie cos zmienilo w VB60 ???
Pozdrawiam
Siudek

Wieslaw Wronowicz

Mam VB6, a help w MSDN nie mówi o tym co chcę zrobić - czyli taki


Konstruktora nie ma, bez niego własną klasę tworzy się też bardzo łatwo.
Przypuszczam że dokumentacja do VB6 jest taka sama jak do VB5 i dalej
proponuję jednak przeczytać o tym w Podręczniku Programisty.
Tworzenie własnych klas jest tam opisane bardzo szczegółowo, krok po kroku z
przykładami.

Wiesiek

Pawel Horos


Przypuszczam że dokumentacja do VB6 jest taka sama jak do VB5 i dalej
proponuję jednak przeczytać o tym w Podręczniku Programisty.
Tworzenie własnych klas jest tam opisane bardzo szczegółowo, krok po kroku z
przykładami.


Byc moze tak jest. Ja mam tylko MSDN dla Visual Studio a tam nie ma
zbyt wiele na ten temat.
Ale dzieki za odzew. To czego dowiedzialem sie na liscie w zupelnosci
mi wystarcza do tego co chcialem zrobic.
Thx

Paweł Horoś

ICQ UIN:8856173

VB 5.0 - jak zrobic by w obliczeniach przecinek i kropka byly traktowane jako to samo ??
Szukam czegoś co rysuje wykresy w VB
Wywołanie .dll'a z VB
Deklaracja tablicy dynamicznej - VB-5
  • plan miasta rzeszowa ulice
  • yamaha dt 125 x 2006r
  • galcon
  • hodowla a podatki
  • 2222 liga mistrzF3w na zywo
  • pup ople
  • wybor koszulki
  • gry komputerowe 3 4 06
  • wentylatory do karty graficznej
  • Zbiór postów z for dyskusyjnych : Indeks