Indeksatorius – tai programavimo kontekste objektas arba funkcija, leidžianti pasiekti (skaityti arba keisti) konkrečią duomenų struktūros (pvz., masyvo, sąrašo, žodyno) reikšmę naudojant indeksą (paprastai sveikąjį skaičių) arba raktą.
Trumpai tariant: indeksatorius yra mechanizmas, kuris leidžia pasiekti duomenis pagal indeksą/raktą, tarsi tai būtų masyvas.
Pavyzdžiai:
1. C kalba:
csharp
class Mokinys
{
private string[] pazymiai = { "8", "9", "7" };
// Indeksatorius, grąžinantis pažymį pagal indeksą
public string this[int i]
{
get { return pazymiai[i];
}
set { pazymiai[i] = value;
}
}
}
// Naudojimas:
Mokinys mok = new Mokinys();
Console.WriteLine(mok[1]);
// Išvestis: "9"
mok[2] = "10";
// Pakeičia trečią pažymį
2. Python kalba:
Python kalboje indeksatorius realizuojamas per specialius metodus `__getitem__` ir `__setitem__`.
python
class Zodynas:
def __init__(self):
self.duomenys = {}
def __getitem__(self, raktas):
return self.duomenys.get(raktas, "Raktas nerastas")
def __setitem__(self, raktas, reiksme):
self.duomenys[raktas] = reiksme
Naudojimas:
z = Zodynas()
z["alus"] = "gerimas"
print(z["alus"]) Išvestis: "gerimas"
print(z["vanduo"]) Išvestis: "Raktas nerastas"
Trumpai:
- Kodėl naudinga? Indeksatorius leidžia natūraliai dirbti su objektais kaip su kolekcijomis (pvz., `objektas[0]` vietoj `objektas.GautiReiksme(0)`).
- Kur naudojama? Dažnai naudojama kolekcijų klasėse, apvalkaluose aplink duomenis arba specializuotuose konteineriuose.
Jei turite konkrečios programavimo kalbos ar panaudojimo konteksto, galiu pateikti tiksliau.
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.