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
2023.8.1.102 • 2023.8.1.148
wydana 14 dni temu
LTS
2022.0.1.31 • 2022.0.1.30
wydana 169 dni temu
Beta
2023.800.0.406 • 2023.800.0.429
wydana 30 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
23 użytkownicy online na discordzie:
ACCESS_ViOLATiON, MKP, Alice, Carl-bot, PolTomski, DungeonFairy, fervi, m..., s..., Chell, Alkapivo, Pako, Arrekin, LadyLush, Korodzik, Adriann, Fylyps, Ulti, bagno, Dyno, Mtax, 🧁Cupcake🧁, moeglich
Shoutbox
gnysek (14:59, 28.09.23)
Poszedł dziś update strony :)
Adriann (21:06, 14.08.23)
Jest..hoho:D
Adriann (21:04, 14.08.23)
Nie znam tego, poszukam. Nie mówisz mam nadzieję o tej podmiance wewnątrz skryptu?
gnysek (10:38, 14.08.23)
Przecież jest: Search & Replace. Do tego nazwy skryptów i zasobów akurat Feather podmienia praktycznie bez problemów.
Adriann (14:39, 12.08.23)
Przydałaby się opcja do globalnej zmiany nazwy zmiennejobiektu we wszystkich skryptach i obiektach :D Tak to jest dość ciężko zabrać się za sprzątanie
SimianVirus7 (10:39, 12.08.23)
To nie burdel, to nieład artystyczny
exp (00:35, 12.08.23)
Feather nie zrozumiał, że burdel jest elementarną częścią mojego projektu
exp (00:34, 12.08.23)
Miałem to samo, nie tyle otworzyłem stary projekt, co w końcu ściągnąłem aktualizację (bo olewałem ten komunikat od chyba półtora roku)
gnysek (23:48, 10.08.23)
Kolizje tilesetowe rządzą!
gnysek (20:01, 26.07.23)
zobaczycie nowy edytor kodu, powinen wskoczyć do bety w sierpniu...
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Kiedy wyjdzie GameMaker (Studio) 3.0?