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 25 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 164 dni temu
Beta
2024.400.0.526 • 2024.400.0.547
wydana  2 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?