Kezdőoldal » Számítástechnika » Programozás » Mit jelentenek az alábbi...

Mit jelentenek az alábbi programozási fogalmak?

Figyelt kérdés

Immáron két éve tanulok programozást, de a tanári színvonal nem eléggé kecsegtető, főleg a sok újonc miatt, akik minden órán mást állítanak és ezzel teljesen összezavarnak.

Na persze nem őket akarom hibáztatni, én is simán utánanézhetnék az interneten. A hiba csak az, hogy az interneten meg annyira "emelt" szinten való megfogalmazásokat találtam, amiknél köpni-nyelni nem tudtam.


Az alábbi fogalmak, amik homályosak az elmémben:

-metódus

-függvény

-eljárás

-konstruktor



2018. okt. 18. 19:01
1 2
 1/15 anonim ***** válasza:
Millió helyen le van írva a neten egyszerűen is.
2018. okt. 18. 19:11
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:
100%

Induljunk ki a függvényből: az egy meghívható "dolog", azaz olyan kódrészlet, ami akkor fut le, amikor hivatkozunk rá a nevével (elég gyenge megfogalmazás, de így érted talán). Lehet neki hívásnál paramétereket adni, azaz változókat, amikkel dolgozhat. Lehet visszatérési értéke is, azaz amikor meghívták, akkor ha lefutott, akkor azt az értéket adja vissza annak, aki hívta.

Az eljárás az kb. ugyanez, csak nincs visszatérési értéke.

Metódus: egy osztályon belüli függvény, amit az osztály példányán hívunk meg.

Konstruktor: az a függvény, ami akkor fut le, amikor példányt hozunk létre az osztályból.


Példák, hogy jobban értsd:


függvény:

int osszead(int a, int b){

return a+b;

}

Két paramétere a két szám, amit össze kell adnia, és az összegükkel tér vissza.

Meghívása a mainben:

osszeg=osszead(3,5); //8 lesz így


Eljárás:

void kiir(char[] szoveg){

std:cout << szoveg;

}

Ez ki fogja írni a megadott szöveget a képernyőre.

Mint látható, nem tér vissza semmivel, mert minek?

Csak belül dolgozik magában...


Hozzunk létre egy osztályt, és egy példányt a mainben


class Test{

int a;

public:

Test(int b) : a(b){}

void novel(){

a=a+1;

}

}

Ez az osztály: a Test nevű "függvény" a konstruktor, az a dolga, hogy létrehozáskor beállítsa az értékeket a megfelelőbe, azaz amit adtunk neki.

A novel() nevű eljárás pedig a Test osztály metódusa.

Mainben:


Test peldany = new Test(3); //itt létrehozunk egy példányt

//lefut a kontruktor a 3 paraméterrel


peldany.novel(); //a peldany változón futtatjuk a metódust


Remélem tiszta. Ha nem, írj

2018. okt. 18. 19:25
Hasznos számodra ez a válasz?
 3/15 anonim ***** válasza:
18%

A függvény és az eljárás kis alprogramok (szubrutinok), amelyek a helyzettől függően vagy lefutnak vagy nem.


Mindenesetre, lefuttathatók és valamit csinálnak. Pl megnyitnak vagy lezárnak egy file-t, kiszámolnak, vagy kikeresnek valamit, stb.


A függvény ugyanaz mint a matematikában.

Van két oldala és a kettő között az egyenlőségjel.

Az egyik oldal lehet pl. egy változó, a másik oldal maga a függvény.


a = b


Ha a függvény(b) lefut, a változó(a) kapja meg (veszi fel) a függvény (visszatérési) értékét.



Az eljárás csak csinál valamit, pl. kinyomtatja egy változó értékét, vagy inicializál egy tömböt, stb..

Itt olyan, hogy visszatérési érték nincs, mert nincs is rá szükség.

2018. okt. 18. 20:10
Hasznos számodra ez a válasz?
 4/15 anonim ***** válasza:

Bocsi, ha ugyanazt írom, mint a #2-es válaszoló.

- A függvény olyan kódrészlet (alprogram, szubrutin), ami név szerint hívható (indítható), paraméterezhető (értékek adhatók át neki, amikkel dolgozik), és értéket is visszaad.

- Az eljárás kb. ugyanaz, mint a függvény, csak nem ad vissza értéket. Tevékenységüket tekintve nincs különbség, mindkettő bármilyen változást okozhat a program állapotában. (Érdekesség, hogy a C/C++ nyelvekben definíció szerint nincs eljárás, minden ilyen alprogramot függvénynek hívnak, akkor is, ha nem ad vissza értéket.)

- Metódusa osztálynak van, ami tuképpen egy függvény (vagy eljárás), de logikailag szorosan az osztályhoz kapcsolódik. A "sima" metódus általában az osztály egy példányának (tehát objektumnak) az adataival dolgozik (az objektum címét, hivatkozását paraméterként megkapja), de létezik pl. osztály metódus is, amire ez nem igaz.

- A konstruktor egy speciális metódus, osztály példányosításkor, tehát objektum létrehozáskor fut le, és általában a kezdeti beállításokat, inicializálást végzi. A konstruktort csak az objektum létrehozásakor hívjuk meg implicit módon, utána nem. Ugyanígy létezik destruktor is, ami az objektum megszűnésekor (ill. közvetlenül előtte) fut le.

2018. okt. 19. 02:35
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:
41%

"(Érdekesség, hogy a C/C++ nyelvekben definíció szerint nincs eljárás, minden ilyen alprogramot függvénynek hívnak, akkor is, ha nem ad vissza értéket."


Na, ezt nem kellett volna.

2018. okt. 19. 02:59
Hasznos számodra ez a válasz?
 6/15 anonim ***** válasza:
Ha nem akarod tudni, akkor felejts el, attól még igaz.
2018. okt. 19. 03:39
Hasznos számodra ez a válasz?
 7/15 anonim ***** válasza:
C, C++ nyelvekben az eljárás olyan függvény, aminek visszatérési értéke void.
2018. okt. 19. 09:12
Hasznos számodra ez a válasz?
 8/15 SimkoL ***** válasza:

Valaki mondja már el magyarul mi az a void amitől úgymond eljárássá válik a függvény.

A void jelentése magyarul....

2018. okt. 19. 11:00
Hasznos számodra ez a válasz?
 9/15 anonim ***** válasza:
41%

"Ha nem akarod tudni, akkor felejts el, attól még igaz."


Persze, hogy igaz, csak ezzel jól alárugtál annak, hogy a kérdező megértse azt, amire kiváncsi.

De, hogy nem segítetted őt vele, az biztos.


Azt érdemes megjegyezni, hogy a C-ben a void tipusú függvények valójában NEM FÜGGVÉNYEK, csak a nyelv nevezi annak azokat.


Idézet:


"A C-ben nincs eljárás, de a hívó program – az aritmetikai utasítások szabályai miatt – nem köteles felhasználni a függvény visszatérési értékét, ezért a függvények használhatók eljárásként. A gyakorlatban így is zavart okozott a függvények eljárásként történő használata, ezért az ANSI C-ben bevezették a void típust, mellyel semmilyen művelet nem végezhető. Ez azt jelenti, hogy a void típust visszaadó függvény __gyakorlatilag eljárásnak tekinthető__."

2018. okt. 19. 11:06
Hasznos számodra ez a válasz?
 10/15 anonim ***** válasza:
SimkoL: A VOID kb. olyan mint a NIL, csak a NIL-ből lehet valami "értékes", a VOID-ból meg nem.
2018. okt. 19. 11:10
Hasznos számodra ez a válasz?
1 2

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!