›_ ebskola.lv
sākt stundu
Prog II · 3. tēma · 6 stundas - C++ OOP · mantošana · signāli

Objektorientētā // programmēšana

Apgūsti C++ klases, mantošanu un polimorfismu Godot GDExtension vidē. Tēma noslēdzas ar RPG klases simulatora izveidi.

6 stundas class · mantošana virtual · GDCLASS projekts RPG
C++ OOP mantošana · virtual GDCLASS makro
# 01 stundas

6 stundas - tēmas saturs

No C++ klases pamata līdz RPG klašu simulatora projektam.

kursa pārskats
# 02 špikeris

OOP C++/Godot špikeris

Klases, mantošana, virtual, GDCLASS makro un signālu shēma.

prog2_3/player.cpp
player.cpp entity.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// Mantošana un override void Player::uzbrukt(Entity* m) { m->sanemtKaitinejumu(attack + exp/10); emit_signal("uzbrucis", attack); } // Signāla savienošana C++ void Player::_ready() { connect("uzbrucis", callable_mp( ui, &UIManager::_on_attack)); } // ADD_PROPERTY inspektora redaktoram ADD_PROPERTY(PropertyInfo(Variant::INT, "health"), "set_health", "get_health");
● C++ · OOP UTF-8
KoncepteC++ / Godot sintakse
Klases deklarācijaclass Foo : public Bar { GDCLASS(Foo, Bar) };
virtual metodevirtual void uzbrukt(Entity* m);
overridevoid uzbrukt(Entity* m) override;
Signāla emitēšanaemit_signal("nosaukums", args...);
Signāla savienošanaconnect("sig", callable_mp(obj, &T::fn));
Inspektora īpašībaADD_PROPERTY(PropertyInfo(...), "set_x", "get_x");
class pret structclass: private pēc noklusējuma; struct: public pēc noklusējuma
class Player : public Entity { /* mantošana */ } // C++ OOP - klašu hierarhija Godot GDExtension vidē