![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, tak jak w temacie ... Wszedłem w świat OOP jakiś czas temu, teraz robię strony na Kohanie (IMG:style_emoticons/default/smile.gif) Bardzo przypadła mi do gustu ... Możecie powiedzieć mi kiedy używać dziedziczenia ? Wiem że jest to `jakby` rozdrabnianie klas ... Lecz nigdy nie mogłem znależć praktycznego zastosowania dziedziczenia w swoich skryptach (IMG:style_emoticons/default/smile.gif) Prosiłbym kogoś o takie szybkie i łopatologiczne rozpisanie jakiegoś skryptu np. newsów, artykułów czy czego kolwiek (byle nie zwierząt (IMG:style_emoticons/default/tongue.gif) ) ... Nie mówię że ma być kod tylko jak to ma wyglądać w praktyce, w formie jakiegoś drzewka lub czego kolwiek (IMG:style_emoticons/default/smile.gif)
No i jeszcze jedno .. Jak dziedziczyć w Kohanie ? Bo widzę że moje wszystkie modele i kontrolery już dziedziczą klasy wyznaczone przez Kohane (IMG:style_emoticons/default/smile.gif) _Models i _Controllers ... Da się jeszcze podpiąć coś czy nie bardzo (IMG:style_emoticons/default/smile.gif) ? Przepraszam jeżeli są to jakieś durne pytania, ale niepotrafie zastosować tego w praktyce (IMG:style_emoticons/default/smile.gif) Pozdrawiam Ten post edytował Damiankossek 24.03.2010, 14:50:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
~Damiankossek
Praktyczne zastosowanie już znasz, teraz kolej na teoretyczny bełkot (IMG:style_emoticons/default/winksmiley.jpg) Dziedziczenie, w zależności od strony z której spojrzeć, nazywa się specjalizacją lub generalizacją. O specjalizacji mówimy gdy patrzymy na klasy "od góry", czyli od pierwszej/głównej klasy. Każda klasa, która dziedziczy po pierwszej jest specjalną odmianą rodzica. Klasa taka posiada wszystkie elementy rodzica oraz własne, specjalne, elementy. Stąd nazwa - specjalizacja. Oczywiście łańcuch dziedziczenia nie kończy się na jednej klasie. Wyspecjalizowanych klas może być więcej, np Klasa1 -> Klasa11 -> Klasa111... Generalizacja jest odwrotnością specjalizacji i polega na patrzeniu na hierarchię klas "od dołu". Czyli zaczynamy od klasy, po której nic już nie dziedziczy i przesuwamy się "do góry". W takim przypadku rodzic jest uogólnionym przypadkiem danej klasy. Innymi słowy jest to to samo, tylko ma mniejsze możliwości. Jeśli chcesz poznać więcej teorii, to poczytaj na temat diagramów klas w UML. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 05:13 |