A więc mam pomysł na pierwszą.
Ale mam także do ciebie kilka pytań.
Jakie to muszą być programy?
One muszą coś praktycznego robić? np. obliczać deltę?
Czy bardziej przykładowo zastosowanie interfejsów? np. Eptak, Ewiewórka, Eczłowiek które dziedziczą z Iorganizm?
i np. Iorganizm posiada parametry wagi, wielkości, spalenie organizmu i wyeksportowanie z niego "pokarmu" dla drugiego organizmu który ten go "zjadł" i ma nadwagę?
Znasz podstawy interfejsów, czy masz nauczyć się tego sam?
Jeśli nie umiesz, koledzy powyżej/poniżej dali tutoriale.
Dobra, a teraz czas na pierwszy program:
Niech będzie interfejs Igo który informuje że obiekt potrafi się samodzielnie poruszać, ma swoją wagę.
czyli w interfejsie metoda Go(int time) i double weight{public get; protected set;}
Potem będziesz robił różne obiekty poruszające się czyli takie jak SpaceShip, Car i tak dalej.
Warto dodać że jeśli mowa o SlaceShip i Car to muszą być one abstrakcyjne, i dziedziczysz potem z tych abstrakcyjnych klas określone pojazdy z określonymi rzeczami.
Potem jak tworzysz określony obiekt to wrzuczasz do jednego wora, tym przypadku np. do kolektora Vector<Igo> które zawierają wszystkie obiekty które się poruszają.
I forme już mamy.
Teraz tylko tworzyć obiekty, dawać im wagi, szybkość (szybkość może być dodana do interfejsie jeśli potrzebujesz to).
Możesz z tego zrobić program typu: kto najszybciej dojdzie do celi, (w sposób turowy)
I co każdej turze możesz zmieniać parametry i sprawdzaj dokładniejsze dane np. rzutować Igo na np. SpaceShip i sprawdzić jego Cargo.
Pomysł chaotyczny i da się to lepiej zrobić, (w tym przypadku same rzutowanie, gdyż trzeba metodą prób i błędów sprawdzać czy ten jest np. spaceshipem)
Ale można to jakoś załatać. (np. pierwsze co mi chodzi po głowie to każdy co dziedziczy Igo to przechowuje w String nazwę obiektu którym jest)
Ale w sumie o ile dobrze pamiętam to w .NET są różne klasy które potrafią sprawdzać obiekty pod różnym kątem, np. sprawdzić z czego dziedziczy, jak typ posiada. (w sposób dynamiczny)