dedicnost v OOP

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
polonium
Level 1
Level 1
Příspěvky: 61
Registrován: srpen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

dedicnost v OOP

Příspěvekod polonium » 20 lis 2009 20:19

Zdravim,

V nasledujicim prikladu jsou funkce z tridy Trida pouzity v Main a kazda ja bych potreboval volat funkci Funkce v DalsiTrida aniz by DalsiTrida musela dedit tridu Trida. Nevite jak na to ??

PS.: pro inicializaci trid pouzivam funkci __autoload

Kód: Vybrat vše

class Main extends Trida{
   $DalsiTrida = new DalsiTrida;

   public function __constoruct(){
      parent::Funkce();
   }
}

$int = new Main;

Reklama
Uživatelský avatar
polonium
Level 1
Level 1
Příspěvky: 61
Registrován: srpen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod polonium » 20 lis 2009 20:43

Prosim o jakoukoliv odpoved i kdyby jste to z toho co jsem napsal nepochopili !! Skusim to preformulovat !!

Uživatelský avatar
Savarkar
Level 1
Level 1
Příspěvky: 58
Registrován: únor 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: dedicnost v OOP

Příspěvekod Savarkar » 13 led 2010 14:10

Moc nechapu co potrebujes, zkus se jinak vyjadrit.
Pokud chces volat funkce tridy 'Trida' v tride 'DalsiTrida', staci v tride 'DalsiTrida' vytvorit instanci tridy 'Trida' a pres ni je volat.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod CZechBoY » 13 led 2010 16:00

nechápu ten pojem dědičnost to chceš jako globální proměnnou nebo co ?
funkci zavoláš odkudkoli v kódu...
Jinak co to je za jazyk ? Java nebo C# ?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Teedok
Level 3
Level 3
Příspěvky: 554
Registrován: prosinec 08
Bydliště: Jablonec nad nisou
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod Teedok » 13 led 2010 17:20

C# to 100% není, takže asi Java. Jinak udělal bych to jak již radil Savarkar.
Freerapid 4ever

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod CZechBoY » 13 led 2010 18:55

No možná PHP, je tam proměnná jako $promenna
možná je to i Java, nicméně čekám na autora co vůbec chce :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Savarkar
Level 1
Level 1
Příspěvky: 58
Registrován: únor 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: dedicnost v OOP

Příspěvekod Savarkar » 13 led 2010 19:17

Chlapi stydte se. Kdo kdy videl v Jave nebo C# deklarace promennych pomoci znaku dolaru? Tohle je php.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod CZechBoY » 13 led 2010 19:35

Však jsem to pak psal :D
ať už ten autor napíše co chce, pořád to nechápu...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
polonium
Level 1
Level 1
Příspěvky: 61
Registrován: srpen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: dedicnost v OOP

Příspěvekod polonium » 10 úno 2010 07:57

Jee na tenhle topic jsem uplne zapomel :)

Mno za tu dobu jsem se dostal mnomem dal takze problem je vyresen.

Jde o to ze pokud nebudu chtit aby trida Main dedila (extends) tridu dalsiTrida a presto budu chtit pouzit funkci z tridy DalsiTrida v Main musim vytvorit statickou funkci, ktera jde volat i v jinych tridach i bez toho abych tridu inicializoval.

pr.:

Kód: Vybrat vše

class DalsiTrida {
  static public function Funkce(){
    //...nejaky kode
  }
}
class Main {

   public function __constoruct(){
      DalsiTrida::Funkce();
   }
}


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti