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

Odpovědět
Uživatelský avatar
polonium
Level 1
Level 1
Příspěvky: 61
Registrován: 27 srp 2006 23:22
Kontaktovat uživatele:

dedicnost v OOP

Příspěvek od polonium »

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;
Uživatelský avatar
polonium
Level 1
Level 1
Příspěvky: 61
Registrován: 27 srp 2006 23:22
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od polonium »

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: 28 úno 2007 11:40

Re: dedicnost v OOP

Příspěvek od Savarkar »

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: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od CZechBoY »

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: 29 pro 2008 17:54
Bydliště: Jablonec nad nisou
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od Teedok »

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: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od CZechBoY »

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: 28 úno 2007 11:40

Re: dedicnost v OOP

Příspěvek od Savarkar »

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: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od CZechBoY »

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: 27 srp 2006 23:22
Kontaktovat uživatele:

Re: dedicnost v OOP

Příspěvek od polonium »

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();
   }
}
Odpovědět

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