Kezdőoldal » Számítástechnika » Programozás » Mikor Static és mikor nem?

Mikor Static és mikor nem?

Figyelt kérdés

PHP-ről van szó!

Mikor létrehozok egy metódust,akkor mi alapján döntsem el,hogy most ez static legyen,vagy simán mehet a public function name() etc... például usereket tárolók adatbázisba,és getUserName,getUserID,getAllUserID,etc,static legyen vagy ne? és ha igen,akkor miért?



2016. aug. 31. 18:15
 1/4 anonim ***** válasza:
Statikus metodusokat tudod peldanyositas nelkul is hivni, peldaul getalluserid-hoz miert lenne szukseges, hogy egy user letre legyen hozva (objektumkent)?
2016. aug. 31. 18:21
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

A classban lévő static az nagyjából egy procedurális értelemben vett globális függvény, ami egy (OOP) névtérben van.


Szóval ha nem kötődik az objektumhoz (nem objektumszintű művelet), amit akarsz csinálni, akkor lehet static.

2016. aug. 31. 19:10
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Na várjál. Képzeljük el ezt egy kicsit másként.


Van a mi világunk, amiben élünk. És van a programunk üres világa. A két világ közt kapcsolatot kell teremteni. Mivel egy program a mi világunkban található adatokból dolgozik, a mi világunkban lévő dolgokból készítünk egy modellt. Szóval kell egy olyan modellező eszköz, ami a két világot összeköti. Ez az osztály.


A mi világunkban lévő tárgyainknak vannak tulajdonságai és viselkedései (tudnak bizonyos dolgokat csinálni). Ebből kifolyólag a programunk világában lévő modellnek is lesznek tulajdonságai és viselkedései. Például, ha csinálunk egy lámpát, akkor annak lehetnek olyan tulajdonságai, mint pl. teljesítmény, hány volt feszültség neki stb., illetve lesz olyan viselkedése, hogy tud világítani.


Az osztályainkból akárhány példányt tudunk csinálni (kivéve, ha valamilyen trükkel megtiltjuk). Ha a sok példány közül az egyik lámpát felkapcsolom, akkor csak az az egy lámpa fog világítani, a többi lámpára ez nem vonatkozik. Az ilyen példányonként eltérő tagokat hívjuk példányszintű tagnak.


Osztályszintű (azaz statikus) tagoknak nevezzük azokat a tagokat, amelyek nem egy konkrét példányra vonatkoznak, hanem általánosságban beszélnek. Lámpa esetében ilyen tulajdonság lehet az, hogy hány lámpa van a világon. Ez egyik konkrét lámpának sem lesz a tulajdonsága, ezért lesz osztályszintű.


Ugyanakkor amikor általánosságban beszélek (=statikus tagban vagyok), nincs konkrét példányom (tehát statikus tagban nem használhatok this-t). Fordítva persze lehet, hogy példányszintű környezetből hívok statikus tagot.

2016. aug. 31. 19:51
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Értem,szóval egy adott csoporton kívüli dolog,ami általánosságba vonatkozik rá és nem maga a tulajdonság,nagyon nagyon szépen köszönöm mindenkinek! :)
2016. aug. 31. 20:41

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!