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.11.0.179 • 2024.11.0.227
wydana  3 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 19 dni temu
Beta
2024.1100.0.713 •
2024.1100.0.726
 0.14.0

wydana 11 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
2 użytkowników aktywnych:
gości: 1, userów: 1
 Adriann
(~ostatnie 15 minut)
Discord
39 użytkowników online na discordzie:
🧁Cupcake🧁, Nitro Slav, Carl-bot, Jamabaiz (Matrix_), lethian, jAfF, Alkapivo, Kowu, LadyLush, GMRussell, OdrzuconyKrakers, fervi, Radek Ignatów, Kalor, PhysX ᴺⱽᴵᴰᴵᴬ, r..., Cysior, antek, HappyOrange, Moldis, MagnusArias, yazaa, Domeen0, Dyno, 🆅🅸🆃🅾74🅼, szmalu, ZYGZAK, bagno, Sporek, Danieo, Mtax, Kandif, Huder, l..., Jayu, moeglich, s..., Krzysiek1250, Shockah
Shoutbox
Uzjel (20:17, 10.12.24)
Cały ruch przeniósł się na Discorda.
MagnusArias (17:43, 01.12.24)
O matko... a ja tutaj jestem od ponad 15 lat i czasami zaglądam... biernie bo biernie, ale czasem wpadnę
gnysek (11:46, 17.11.24)
Witamy, witamy!
baca (12:22, 16.11.24)
To już 25 lat.. Witam po paru latach nieobecności.
gnysek (11:05, 15.11.24)
Natomiast obecne forum istnieje od 2004, jak z iglu.cz na gmclan.org przeszliśmy i od tego czasu nie było resetów danych.
gnysek (12:35, 13.11.24)
Ogólnie GMCLAN istnieje 22 lata, ale na to trofeum nie zrobiłem (jeszcze xD)
Chell (20:41, 08.11.24)
wow, ta emotka w ogóle nie wygląda jak : O xD
Chell (20:40, 08.11.24)
tylko? :O 4tk ma 15
Borek (18:12, 07.11.24)
Właśnie dostałem powiadomienie z forum, że jestem na GMClanie 18 lat :D Ja pierdzielę...
S
Sutikku (08:43, 18.10.24)
TIL, gamemaker jest starszy ode mnie
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?