• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak można dziedziczyć po jeszcze nie znanej klasie bazowej? C#

0 głosów
66 wizyt
pytanie zadane 16 maja w C# przez Trotylson Nowicjusz (210 p.)

Hej.
Czy klasa pochodna może dziedziczyć po 'jeszcze nieznanej' klasie bazowej?
Dla przykładu, class Gracz dziedziczy po klasie bazowej class KlasaPostaci, ta z kolei dziedziczy po class Rasa. W programie jest kilka class Rasa i kilka class KlasaPostaci.
Problem w tym, że na etapie pisania gry nie da się sprecyzować base class Klasa i Rasa dla class Gracz.


-------------tak jest obecnie\/---------------------------------

class LifeForm {}
class Dwarf : LifeForm {}
class Warrior : Dwarf {}
class Player : Warrior {}


------------czy można i w jaki sposób zrobić\/----------------
 

class LifeForm {}
class Dwarf : LifeForm {}
class Warrior : DzieciczPoKlasieWybranejPrzezUżytkownikaWGrze{}
class Player : DzieciczPoKlasieWybranejPrzezUżytkownikaWGrze{}

 

1 odpowiedź

+3 głosów
odpowiedź 16 maja przez JakSky Stary wyjadacz (14,150 p.)
wybrane 16 maja przez Trotylson
 
Najlepsza
Możesz przygotować kilka odmian klasy Player-co jest totalnie bez sensu. Tu leży problem natury projektowej. Sama klasa Rasa nie powinna dokładnie opisywać samej rasy a niech to robią pola i właściwości oraz metody. Widzę, że wciągnąłeś się w manię dziedziczenia. Ja osobiście bym bardziej ostrożnie do tego podchodził. Lepiej użyć pola typy Object czy Rasa w klasie Player do opisu rasy. Jeden gracz będzie mógł mieć taką rasę a inny np. żadnej.
komentarz 16 maja przez Trotylson Nowicjusz (210 p.)
Rozumiem, czyli zostawić sobie klasę bazową w której będą parametry postaci dla każdej jednej z nowo otwartym polem czy to (gracz czy przeciwnik), natomiast klasa Player, która dziedziczy tylko po klasie bazowej powinna mieć w swoim ciele zawarte np, metody na zmianę zmiennych dla klasy bazowej, tak?
komentarz 16 maja przez JakSky Stary wyjadacz (14,150 p.)
Tak,  klas używaj jako ogólnego kontenera a pol i właściwości do bardziej precyzyjnego opisu. Będzie później łatwiej modyfikować różne dane.
komentarz 16 maja przez Trotylson Nowicjusz (210 p.)
Super. Bardzo dziękuję za słuszne uwagi! :)
A teraz wracam naprawiać kod! :D
Pozdrawiam! :)

Podobne pytania

0 głosów
1 odpowiedź 356 wizyt
pytanie zadane 6 kwietnia 2016 w C# przez Jarek89 Nowicjusz (210 p.)
0 głosów
1 odpowiedź 335 wizyt
pytanie zadane 4 października 2017 w C# przez Deloryn Bywalec (2,060 p.)
0 głosów
0 odpowiedzi 128 wizyt
pytanie zadane 14 grudnia 2017 w C# przez Norbert Błaszczyk Nowicjusz (220 p.)

85,870 zapytań

134,642 odpowiedzi

298,913 komentarzy

56,737 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 926p. - rucin93
  2. 925p. - Whistleroosh
  3. 912p. - nidomika
  4. 876p. - adrian17
  5. 867p. - Michal Drewniak
  6. 866p. - Mikbac
  7. 863p. - Mateusz Bogdan
  8. 859p. - CC PL
  9. 797p. - Argeento
  10. 704p. - ScriptyChris
  11. 683p. - tokox
  12. 660p. - Vinox
  13. 645p. - TheLukaszNs
  14. 642p. - s. Dorota Kowalewska
  15. 601p. - Marcin Harasimowicz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...