Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Klasy i obiekty cz.1

Czwartek, 06 Października 2005, 17:58
Czas czytania 1 minuta, 45 sekund
Jeśli już poznałeś programowanie strukturalne w C++ czas na programowanie zorientowane obiektowo.
Jeśli już poznałeś programowanie strukturalne w C++ czas na programowanie zorientowane obiektowo. Już nie musisz myśleć o strukturach danych którymi manipulują funkcje tylko o obiektach (rzeczach).

1. Tworzenie nowych typów
Zapewne znasz już takie typy zmiennych jak liczby całkowite czy znaki. Typ zmiennej informuje nas co możemy w niej przechowywać, określanie go przy deklaracji informuje komputer ile miejsca w pamięci ma zarezerwować dla danej zmiennej. Warto tworzyć nowy typ, ponieważ znacznie łatwiej będzie się pisało rozbudowane programy.

2. Klasy i składowe
Deklarując klasę tworzy się nowy typ zmiennej. Klasa to grupa zmiennych przeważnie o różnych typach. Zmienna wewnątrz klasy to zmienna składowa lub dana składowa, a funkcja wewnątrz klasy to funkcja składowa lub metoda klasy. Deklaruje się ją w następujący sposób:
kodclass Samochod
{
    public:
    unsigned int rocznik;
    unsigned int waga;
    void Jedz();
};
Deklaracja takiej klasy informuje kompilator czym jest typ Samochod, jakie dane zawiera i co może robić oraz ile miejsca ma zarezerwować w pamięci.

3. Definiowanie obiektu
Obiekt nowego typu definiuje w następujący sposób:
kodSamochod BMW;Od tej chwili zmienna o nazwie BMW jest obiektem klasy Samochod. Gdy już obiekt danej klasy jest zdefiniowany możemy odwoływać się do składowych. Żeby zmiennej składowej rocznik obiektu BMW przypisać wartość 2000 powinniśmy napisać:
kodBMW.rocznik = 2000;A żeby wywołać funkcję Jedz powinniśmy napisać:
kodBMW.Jedz();
4. Prywatne i publiczne
Wszystkie dane składowe i metody klasy są domyślnie prywatne czyli takie które mogą być używane tylko przez metody należące do danej klasy. Natomiast składowe publiczne są dostępne dla innych funkcji oraz klas. Słowo kluczowe public oznacza że wszystkie składowe tej klasy po tym słowie są publiczne dopóki nie wystąpi private. Dodam też że istnieje jeszcze protected, działa tak samo jak private tylko że jest jeszcze dostępny dla klas potomnych tej klasy.
Komentarze (łącznie 7):
B
Pietrus_paN (Pią., 07 Paź. 05, 15:10)
#1

Nice :)

BeWuO (Pią., 07 Paź. 05, 15:28)
#2

A po co komu ten art? Przecież to jest w każdym kursie na początku? A że będą następne części jakoś nie wierze... =]

V
Vardi (Pią., 07 Paź. 05, 15:37)
#3

Nie bój się BeWuO ten art się przyda :) Jest tam napisane konkretnie o klasach i obiektach bez żadnych dodatkowych pierdół. :P Co do następnej części to będzie, ponieważ trzeba jeszcze pare rzeczy wytłumaczyć. :)

d
~dido9993 (Nie., 12 Lut. 06, 17:57)
#4

jak ktos chce sie pobawic w C++ to yaprasyam tutaj it.hk.pl .
jest doslownie wsyzstko o programowaniu w tzm jeyzku.

r
romeo (Pon., 11 Gru. 06, 08:53)
#5

Kurcze dajcie coś normalnego od czegoś co by Nowicjusz zaczoł a nie umieszczcie pliki do pobrania a niewiadomo gdzie potem je umiescic w FOLDERZE GM ?? POmuszcie plis

Dawidsu (Pon., 11 Gru. 06, 13:44)
#6

To jest w dziale przeznaczonym C++. Gdzie to panie do Gie-ema? :P

boom (Nie., 03 Sty. 10, 14:45)
#7

Samochod::Jedz()
{
std::cout<<"smacznego XD"<<std::endl;
}

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 47 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 186 dni temu
Beta
2024.400.0.543 • 2024.400.0.562
wydana  3 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
19 użytkowników online na discordzie:
Papaj, Kysiu, s..., Carl-bot, RogerDodg3r, Grela, Kowu, fervi, chleb, MKP (GEM), yazaa, Dyno, LeD, m..., bagno, Tidżi, g..., l..., Shockah
Shoutbox
gnysek (20:44, 11.04.24)
Niektórzy dlatego wybierają GMEdit. Ale ja liczę na Code Editor 2, tylko na razie zbyt zbugowany jest.
Tymon (16:11, 11.04.24)
Stitch dla mnie osobiście jest lepszy bo nie musze kopać się z interfejsem GMa i mogę tylko pisać kod.
Tymon (16:05, 11.04.24)
Yes. Obecny nie jest taki zły, jak zainstalowałem najnowszą stabilną to w porównaniu z tym czego używałem... 10 lat temu...? Wszystko wydaje się lepsze.
gnysek (22:48, 10.04.24)
bscotch/stitch ? Ja czekam na fixy do nowego edytora, bo wszystko wydaje się dziś lepsze od tego obecnego :D
Tymon (19:54, 10.04.24)
Hm, Stitch okazuje się całkiem dobrą alternatywą dla wbudowanego edytora
Wojo (22:16, 08.04.24)
siemano huder myślałem, że zniknąłeś całkiem z gmclanu bo na discordzie cie nie ma :D
I am Lord (00:37, 05.04.24)
O dzięki :D
gnysek (09:58, 02.04.24)
Znalazłem na podstawie jego postów: youtube.com/@Jakim_
I am Lord (20:16, 01.04.24)
Ktoś ogarnia jakie konto miał Jakim na YT?
gnysek (16:07, 29.03.24)
Nowy Edytor kodu jednak po świętach
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?