Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Triedy a sub triedy

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 16.04.2010 18:14

Zdravím, zaúčam sa do tried a narazil som na jeden problém.

Chcem spraviť volanie tried pomocou $Trieda->subTrieda->funnkcia(); kvôli prehladnosti. Nejak som to docielil, ale narazil som na menší problém. Síce som to vyriešil, ale neviem či nejak efektívne a preto sa pýtam tu.

Takže mám.

Kód:
class Main{

  function __construct(){
    $this->Sub1 = new Sub1;
    $this->Sub2 = new Sub2;
   
    //moje riesenie
    $this->Sub2->Sub1 = &$this->Sub1;
   
  }
}

class Sub1{
  var $Result = '';
 
  function Result($A){
    $this->Result .= $A;
  }
}

class Sub2{
  function setResult($A){
    $this->Sub1->Result($A);
  }
}

$M = new Main;
$M->Sub2->SetResult('asd');
$M->Sub2->SetResult('fgh');

var_dump($M);


Vráti
Kód:
object(Main)#1 (2) {
  ["Sub1"]=>
  &object(Sub1)#2 (1) {
    ["Result"]=>
    string(6) "asdfgh"
  }
  ["Sub2"]=>
  object(Sub2)#3 (1) {
    ["Sub1"]=>
    &object(Sub1)#2 (1) {
      ["Result"]=>
      string(6) "asdfgh"
    }
  }
}


Nie je to blbosť, alebo to nejak zbytočne nezaťažuje chod? Obvzlášť, keď to bude rozsiahlejšie.
Tu sa dostávame k pointe. Dá sa tá funkcia Result() v Sub2->SetResult() volať aj nejak inak?

Niečo v zmysle parent::Sub1->Result('asd');

Pretože ak volám funkciu staticky ( Sub1::Result(2); ), tak prídá premennú Result do Sub2, ale ja chcem aby to ostalo v Sub1.

Dúfam, že som sa nevyjadril jak mešuge, lebo už aj sám som z toho popletený :cry:

ďakujem







_________________
Sorry za prelkepy
Offline

Skúsený užívateľ
Skúsený užívateľ
Triedy a sub triedy

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 17.04.2010 7:34

ak sa chces naucit OOP, zacni s inym jazykom, napr. java. Tam pochopis podstatu. Potom sa ti bude aj v php lepsie pisat.







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Správca fóra
Správca fóra
Triedy a sub triedy

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 18.04.2010 21:19

emer, skus vysvetlit obsirnejsie a popisat na realnom priklade, co chces presne dosiahnut, lebo z toho kodu sa to neda velmi zistit - vyzera to totiz strasne... preco si vlastne metody Result a setResult rozdelil do 2 tried? ak budeme vediet, na co to chces pouzit, budeme vediet mozno skor poradit...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Triedy a sub triedy

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 18.04.2010 21:33

no ide o to, ze mam jednu triedu na pracu s DB. a kazdy jeden query uklada do pola, aby osmn konci vedel ze ake dotazi boli vykonane, popripadne ktore hodili chybu a loguje sa to. a takych tried s podobnou funkciou bude asi viac, lenze ta DB je osobity pripad, lebo nemozem volat tu triedu z inych tried staticky. pretoze sa mi potom tie informacie o dotazoch rozdelia. neviem ako to poriadne vysvetlilt :/







_________________
Sorry za prelkepy
Offline

Správca fóra
Správca fóra
Triedy a sub triedy

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.04.2010 8:16

global / singleton?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Triedy a sub triedy

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 19.04.2010 19:50

ten singleton je paráda, aj keď som tomu najprv vôbec nerozumel :D ešte si to naštudujem, ďakujem mockrát stenley







_________________
Sorry za prelkepy
Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Forko triedy

v Redakčné systémy

7

730

05.05.2009 21:04

Svolo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobil strednej triedy

v Mobilné zariadenia

24

1046

15.09.2017 11:54

Nair0n Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Siete triedy B

v Sieťové a internetové programy

1

296

28.01.2013 19:30

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wifi-Router do triedy

v Ostatné

1

415

22.04.2011 20:40

rastis Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ konštantná funkcia triedy

v Assembler, C, C++, Pascal, Java

2

546

07.08.2010 14:17

Loko11 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CMS pre web triedy

v Redakčné systémy

2

744

29.10.2009 7:24

yhanky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ triedy, spravna rekurzia

v Assembler, C, C++, Pascal, Java

4

810

03.12.2010 8:47

HT Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako optimalizovat vykon triedy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

58

2077

01.09.2010 11:59

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Java] Instancia abstraktnej triedy

v Assembler, C, C++, Pascal, Java

6

697

09.08.2010 13:50

crusher100 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Java - abstraktne triedy a rozhranie

v Assembler, C, C++, Pascal, Java

4

539

23.06.2017 14:52

neutroN Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Notebook strednej triedy Dell 7537

v Notebooky a netbooky

12

592

15.06.2014 21:06

Perezo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Triedy a práca s nimi

v Delphi, Visual Basic

8

831

24.08.2010 11:43

Manny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pocitac strednej triedy do 500€

v PC zostavy

7

458

19.12.2011 19:11

ambrosko1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Eclipse content assist nedoplna len triedy

v PHP, ASP

0

212

15.03.2013 9:27

Merlin_sk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdiely medzi jednotlivymi procesormi triedy Atom

v Notebooky a netbooky

9

768

01.12.2009 15:29

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Slovensko bude mať superpočítač svetovej triedy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Novinky

30

1704

12.12.2011 17:28

Johnnny Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra