Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [oop] Bóg, Człowiek I Seksualizm Osób
Forum PHP.pl > Inne > Hydepark
byther
  1. <?php
  2. /*
  3.  
  4. Oto przykład typowego myślenia zapisany obiektowo.
  5.  
  6. Pozdrawiam:
  7. - programistów php
  8. - programistów-wizjonerów-od-programowania-zorientowanego-obiektowo
  9. - programistów z Młodzieży Wszechpolskiej (są tacy?questionmark.gif)
  10. - heteroseksualnych programistów
  11. - homoseksualnych programistów
  12. - ludzi
  13. - bogów
  14. - ... i całą resztę :-)
  15.  
  16. */
  17.  
  18. class osoba {
  19. var $plec;
  20. var $imie;
  21. var $mama;
  22. var $tata;
  23. // każdy ma mamę, tatę, własne imię i płeć
  24. function osoba(&$mama, &$tata, $imie, $plec) {
  25. $this->tata = &$tata;
  26. $this->mama = &$mama;
  27. $this->plec = $plec;
  28. $this->imie = $imie;
  29. }
  30. function przedstawSie() {
  31. printf(&#092;"Mam na imię %s.\", $this->imie);
  32. }
  33. function przedstawRodzicow() {
  34. // Homoseksualizm - [gt.-łac.] [...] oznacza podejmowanie zachowań
  35. // seksualnych z osobami tej samej płci
  36. if ($this->mama->plec == $this->tata->plec) {
  37. printf(&#092;"Moi rodzice są homoseksualni!\");
  38. } else {
  39. printf(&#092;"Moja mama ma na imię %s, a tata %s.\",
  40. $this->mama->imie,
  41. $this->tata->imie);
  42. }
  43. }
  44. }
  45.  
  46. // Osoba Boska
  47. class bog extends osoba {
  48. // Bóg ma imię
  49. function bog($imie) {
  50. // Bóg stworzył się sam!
  51. // Bóg nie ma płci!
  52. osoba::osoba($this, $this, $imie, '');
  53. }
  54. }
  55.  
  56. // człowiek powstał na podobieństwo Boga.
  57. class czlowiek extends bog {
  58. // człowiek ma mamę, tatę, swoje imię i płeć
  59. function czlowiek(&$mama, &$tata, $imie, $plec) {
  60. // osoba ludzka
  61. osoba::osoba($mama, $tata, $imie, $plec);
  62. }
  63. }
  64.  
  65. // mężczyzna to człowiek
  66. class mezczyzna extends czlowiek {
  67. function mezczyzna(&$mama, &$tata, $imie) {
  68. czlowiek::czlowiek($mama, $tata, $imie, 'M');
  69. }
  70. }
  71.  
  72. // kobieta też człowiek! :-)
  73. class kobieta extends czlowiek {
  74. function kobieta(&$mama, &$tata, $imie) {
  75. czlowiek::czlowiek($mama, $tata, $imie, 'K');
  76. }
  77. }
  78.  
  79.  
  80. // Bóg ma imię. Tutaj brzmi \"Jahwe\", ale możesz wpisać swojego ulubionego Boga.
  81. $bog = &new bog('Jahwe');
  82.  
  83. // Każdy człowiek jest dzieckiem Boga!
  84. $czlowiek1 = &new mezczyzna($bog, $bog, 'Adam');
  85. $czlowiek2 = &new kobieta($bog, $bog, 'Barbara');
  86.  
  87. // Oto dziecko, którego rodzice kochają się...
  88. $czlowiek3 = &new mezczyzna($czlowiek1, $czlowiek2, 'Czesław');
  89.  
  90. // Oto następne dziecko Boga.
  91. $czlowiek4 = &new mezczyzna($bog, $bog, 'Daniel');
  92.  
  93. // Rodzice tego dziecka też się kochają!
  94. $czlowiek5 = &new mezczyzna($czlowiek3, $czlowiek4, 'Edward');
  95.  
  96. // Zbierzmy wszystkich zainteresowanych
  97. $osoby[] = &$bog;
  98. $osoby[] = &$czlowiek1;
  99. $osoby[] = &$czlowiek2;
  100. $osoby[] = &$czlowiek3;
  101. $osoby[] = &$czlowiek4;
  102. $osoby[] = &$czlowiek5;
  103.  
  104. // Każdy przedstawia siebie i swoich rodziców.
  105. foreach ($osoby as $osoba) {
  106. printf(&#092;"%s %s<br>n\", $osoba->przedstawSie(), $osoba->przedstawRodzicow());
  107. }
  108.  
  109. // \"Eny kłeszczynz?\" :-)
  110.  
  111. ?>


pzdr.
byther, the [oo(p]rogrammer)
byther
Cytat(Sh4dow @ 2004-06-15 15:31:27)
Proponuje zmienic temat na bardziej pasujacy. W innym przypadku temat zamkne lub wyladyje w smietniku.

To jest hydepark, prawda? No i dlaczego temat nie pasuje? [oop] jest? Jest. Jest Bóg? "class bog" - jest, a do tego całkiem religijna natura algorytmu/komentarzy. Seksualizm osób? Jest, bo wszystkie klasy dziedziczą po klasie "osoba", a na koniec pada stwierdzenie o seksualności własnych "rodziców". A "jak NIE programować"? Bo to jest przykład na to, że gdy za bardzo starasz się oddać rzeczywistość, możesz dojść do tak paradoksalnych wniosków. No i należy pamiętać o sprawdzaniu zmiennych, typów i takich tam...

Nadal pzdr.
byther
Sh4dow
Lubie stwierdzenia, ze to przeciez Hydepark, wiec nie obowiazuja cie zadne reguly ? Ciekawe podejscie do zycia, pozatym jesli chcesz tak bardzo trzymac sie swiata, to czy widziales kiedys zeby para homosexualistow, poczeła dziecko ? I nie mowie tutaj o laboratoryjnych szczurach. Wiec musisz przyjac zalozenie ze to nie sa rodzice biologiczni, lecz prawni opiekunowie.
I czy ten temat ma byc pokazaniem jak NIE programowac? troche to wszystko zakrecone nieuwazasz?
DeyV
średnio mądry i premyślany przykład. Choroba - nawet nie śmieszny :/
spenalzo
No cóż, pewnie nie podoba się wam, bo powstał bez paru spotkań developerów snitch.gif tongue.gif
A mi się podoba, bo w zalewie beznadziejnych postów (jakieś 90% takie jest) na forum wreszcie trafiło się coś ciekawego.
Bieniasxyz
Cytat(spenalzo @ 2004-06-15 17:53:54)
A mi się podoba, bo w zalewie beznadziejnych postów (jakieś 90% takie jest) na forum wreszcie trafiło się coś ciekawego.

Chociaż raz coś wymyślnego i dość pożytycznego :roll2:
Chewolf
Mnie też się podoba. Temat jest przedstawiony w postaci skryptu. Ciekawe dlaczego autor tak zrobił ale jest wiele odpowiedzi, np. jest to forum o php i jest przedstawiony w postaci kodu zeby ludzie czytajac lepiej go zrozumieli biggrin.gif
Spoko naprawdę winksmiley.jpg
Sh4dow
Lecz autor nadal nie zaszczycil nas odpowiedzią, o co chodzi w opisie tematu. Bo jest tam wyraznie napisane Jak NIE programowac. A skrypt w sumie nie przedstawia nic soba szczegolnego.
Zreszta podobnych skryptow o samochodach, sklepach i lidziach, mozna znajesc wiecej na necie.
Wiec co tu takiego powalajacego, procz dziwnego tematu ?
Bakus
podepnę się pod post m5910...
@Sh4dow: spokojnie... napij się cherbatki... odpocznij trochę... winksmiley.jpg
kicaj
...popieram m5910 smile.gif
php przedstawiony w ciekawy sposob
scanner
Hahaha... ale sie ubrechtałem...
Taki kod by sie nadawał na nasz niedany konkurs o OOP - niezle pomyslane, musze przyzac.
Pomyslcie jak musi byc skonstuowany kod Matrixa a zrozumiecie, ze powyzszy listing wcale nie jest taki glupi na jakiego wyglada.

Gratuluje pomyslu autorowi - i zachecam do rozwijania algorytmu smile.gif
spenalzo
Najlepsze jest to, że kod działa i sądze, że jest jak nabardziej poprawny z punktu widzenia programowania guitar.gif party.gif
byther
Sh4dow... Przeczytaj uważnie mój poprzedni post, bo tam wytłumaczyłem: aby uniknąć niektórych błędów algorytmicznych (lub merytorycznych) należy pamiętać o np. sprawdzaniu typu lub wartości argumentu. Ja w swoim przykładzie nie zastosowałem czegoś takiego; to jest "emulacja" myślenia prostego człowieka i niczego wielkiego nie możesz spodziewać się po prostym człowieku. withstupidsmiley.gif Prosty człowiek myśląc prosto dojdzie do prostych wniosków i nie zobaczy, że tak naprawdę jest całkiem inaczej. "Inaczej?" Nadal pzdr.

Przyznaję, że spodziewałem się więcej odpowiedzi w stylu Sh4dowa. Dzięki Wam Panowie za aprobatę. Postaram się, by moje ewentualne następne przykłady kodu również były ciekawe. smile.gif Ze względu na "uczucia religijne" niektórych ograniczę się do mniej kontrowersyjnych przykładów.

"Uczyć poprzez zabawę, bawić się poprzez naukę." - chyba zaczynam brzmieć pretensjonalnie... tiredsmiley.gif

pzdr.
byther
sztosz
Nie znam sie za bardzo na oop ba nie znam sie wcale, a ten skrypt był zabawny i cos niecos mi podpowiedział wiec czemu nie? Jestem na tak.
nas
Cała Symfonia Jurka Grębosza opiera się na takich, z życia wziętych, przykładach. No i została uznana za bestseller wśród polskich książek o C++. Wszyscy ją chwalą jak mogą. I prawda jest taka, że dzięki temu nauka przychodzi 2x łatwiej. A więc więcej takich przykładzików biggrin.gif:king:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.