Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Eart

Turbo Pascal/Object Pascal

Polecane posty

Mam za zadanie stworzyć program używający obiektów i wskaźników + constructory. Ze wskaźnikami sobie poradziłem napisałem osobny program. Dylemat mam z obiektami. Mam książkę w sumie ale potrzebuje żeby ktoś mi napisał PRAKTYCZNY program z obiektem który coś robi. Mam np taki obiekt:

Tsamochod = object 
polozenie : Tmiejsce;
liczbaMiejsc :Integer;
liczbaPasarzerow :integer;
predkoscMax : real;

procedure przejdz(skad, dokad : Tmiejsce);
procedure ZabierzPasazerow (IluPasazerow : integer);
procedure WysadzPasazerow  (IluPasazerow : integer);
procedure zaparkuj;
end;

Teoretycznie ten obiekt powinien mi pozwolić na obliczenie drogi pasażerów itp. Ale przecież to jest jakiś bezsensowny obiekt, Co im z procedury wysadź pasażerów? Potrzebował bym gotowy jakiś program z obiektem jak najprostszy, obrazujący to wszystko, ogólnie potrzebował bym przy tym pomocy. Z góry dziękuję za pomoc.

Link do komentarza
Udostępnij na innych stronach

Nie rozumiem, czego Ty tu nie rozumiesz :-P

Masz typ obiektu, czyli klase samochod. Zawiera on cztery pola: polozenie, liczbe miejsc, ilosc pasazerow, i predkosc maksymalna. Dalej masz metody, ktore pobieraja jakies konkretne typy zmiennych i costam sobie licza. Po nazwach widac, ze np ZabierzPasazerow() zwiekszy wartosc pola liczbaPasazerow. Chcesz obliczyc droge, to po prostu wykorzystaj procedure przejdz().

Oczywiscie podane tu procedury sa tylko deklaracjami. Musisz gdzies je zdefiniowac, np poza cialem klasy:

procedure Tsamochod.przejdz(skad, dokad : Tmiejsce)
begin
.
.
.
end;

Jakis tam przyklad masz w wikibooks, wystarczylo skorzystac z google'a:

http://pl.wikibooks.org/wiki/Object_Pascal/Obiekty_object

Link do komentarza
Udostępnij na innych stronach

widziałem ten przykład z wiki chyba z 100 razy. Chodzi mi o co innego, mam procedure zabierz pasarzerów i jak do jasnej cholery ona ich zabierze? Nie zabierze. Jest to przykład który pokazuje jak to działa i nie ma on zastosowania konkretnego czy jest to coś praktycznego?

Link do komentarza
Udostępnij na innych stronach

procedure Tsamochod.ZabierzPasazerow (IluPasazerow : integer)
begin

if IluPasazerow + liczbaPasazerow > liczbaMiejsc then writeln('Za duzo! ')
else liczbaPasazerow := liczbaPasazerow + IluPasazerow;


end;

Prosze, tak ich zabierze :->

Nie rozumiem, czemu przeszkadza Ci przyklad, ktory wyjasnia, jak cos dziala o.O

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...