Planeta, Osoba - kto kogo posiada?

Piszę pewien program astrologiczny, który ma działać w Internecie, takie astro.com, tylko że po polsku. Dowiedziałem się ostatnio, że istnieją dwa sposoby kodowania, czyli pisania programów: 1) tak zwane programowanie strukturalne, i 2) programowanie obiektowe, które ostatnio jest bardzo modne. Ta obiektówka – bo w ten sposób się ponoć mówi w żargonie koderów – jest niczym innym jak praktycznym zastosowaniem idei platońskich. Nigdy się tego nie spodziewałem, że tak abstrakcyjna filozofia zajdzie zastosowanie praktyczne!

Otóż w programowaniu obiektowym tworzy się najpierw klasy. Jest to coś na kształt idei platońskiej. Klasa ma właściwości, czyli cechy, oraz metody, czyli sposoby działania. Chyba najlepiej będzie odwołać się do jakiejś gry komputerowej, w której bohater jest ‘konkretnym’ przedstawicielem jakiejś abstrakcyjnej klasy. Ma swoje cechy: zbroja, ilość życia, apteczka, oraz metody: może chodzić, strzelać, etc…Tak więc mamy jedną klasę, która tworzy wiele obiektów, bo – odwołując się do gry – bohaterów w grze może być wielu.

Więc w moim programie astrologicznym jest klasa Planeta. Posiada ona cechy takie jak, nazwa, długość ekliptyczna, cyfra od zero Barana, oraz metody akie jak generowanie interpretacji planety w określonym znaku, czy generowanie opisu symbola sabiańskiego. Drugą klasą jest klasa Osoba, która jest konkretnym użytkownikiem programu. Ma swoje cech: Imię Nazwisko, datę urodzenia, adres e-mail, etc, oraz metody może na przykład wyrysowywać horoskop.

Doszedłem do takiego miejsca, w którym dla zachowania spójności całej tej machinerii musiałem podjąć decyzję, czy przyporządkować instancję (czyli konkretny obiekt) klasy Osoba do klasy Planeta, czy zrobić na odwrót, Planety przyporządkować Osobie? Zdecydowałem się na to drugie rozwiązanie, gdyż doszedłem do wniosku, że to człowiek posiada planety, a nie planety człowieka.

Panto: Kabaty 06.06.06