×
Vytvárame riešenia

Čo znamená overloading

Jedným z často uvádzaných pojmov pri tvorbe programov v jazykoch C++ a Java je pojem overloading (preťažovanie). Overloading je často v odbornej literatúre spájaný s objektovo orientovaným programovaním a polymorfizmom (polymorphism). V tomto prípade ide o metódy v rozhraniach a abstraktných triedach.
V praxi sa je možné najčastejšie stretnúť s preťažovaním funkcií a metód. Preťažovanie funkcií a metód znamená definovanie viacerých funkcií s rovnakým názvom, ale rôznymi parametrami. Preťažovanie sa používa pre zníženie počtu názvov metód, ktoré si je potrebné pamätať.
Preťaženie je možné vykonať nasledujúcimi spôsobmi:
  • ak je definovaných viacero metód s rovnakým názvom, ale rôznymi parametrami.
  • ak je definovaných viacero metód s rovnakým názvom a počtom parametrov, ale v odlišnom poradí.
  • ak je definovaných viacero metód s rovnakým názvom, ktoré majú rovnaký počet a názvy parametrov, ale parametre sú rôzneho dátového typu.
Príklad: Metódy s rovnakým názvom, ale rôznymi parametrami.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Overloading {
public Overloading() {
overload();
overload(1);
overload(1, "text");
}
private void overload() {
System.out.println("Metóda bez parametra.");
}
private void overload(int number) {
System.out.println("Metóda s 1 parametrom.");
}
private void overload(int number, String text) {
System.out.println("Metóda s 2 parametrami.");
}
}
Príklad: Metódy s rovnakým názvom a parametrami, ale v odlišnom poradí.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Overloading {
public Overloading() {
overload(1, "text");
overload("text", 1);
}
private void overload(String text, int number) {
System.out.println("Metóda s parametrami string a number.");
}
private void overload(int number, String text) {
System.out.println("Metóda s parametrami number a string.");
}
}
Príklad: Metódy s rovnakým názvom a parametrami s rôznym dátovým typom.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Overloading {
public Overloading() {
overload("text", 1);
overload("text", 1.0);
}
private void overload(String text, int number) {
System.out.println("Metóda s celým číslom.");
}
private void overload(String text, double number) {
System.out.println("Metóda s reálnym číslom.");
}
}
K preťaženiu nedochádza ak sa metódy líšia v návratovej hodnote a nie v počte parametrov. Preťažovaním funkcií a metód sa vytvárajú metódy a funkcie s duplicitnými názvami. Aplikovaním preťažovania metód a funkcií sa odbúrava potreba vytvárania rôznych názvov pre rovnakú operáciu.
Niektoré programovacie jazyky vďaka svojej koncepcie práce s parametrami a argumentmi nepoužívajú preťažovanie čím odpadá zápis duplicitných názvov metód v programovom kóde. Výsledkom absencie preťažovania je prehľadnejší a kratší programový kód.

Záver

Okrem preťažovania funkcií a metód sa je možné stretnúť aj s preťažovaním operátorov. K preťažovaniu operátora dochádza, ak má operátor viacero významov. Preťažovať je možné aj constructor. Preťažovaný constructor sa nazýva aj parametrizovaný constructor.
Autor: Matej Lednár
Dátum: 9.5.2013
Kategória: Programovanie
Značky: programovanie, overloading, c++, java


Programovanie,programovanie,overloading,C++,Java
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších