Sąsaja (programavimas): Skirtumas tarp puslapio versijų

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Ištrintas turinys Pridėtas turinys
Perrašytas
Papildyta
Eilutė 18: Eilutė 18:
int plotas();
int plotas();
}
}

Interfeisai naudingu kuriant funkcijas, kurių parametrai gali būti įvairūs objektai, jei tik jie turi šių funkcijų algoritmams reikalingus metodus (pavyzdyje - figūros plotui sužinoti). Jei objekto klasė išpildo keletą interfeisų, toks objektas tinka parametru įvairioms funkcijoms, kurių reikalaujamas argumento tipas skirtingas.


[[Category:Kompiuterių mokslas]]
[[Category:Kompiuterių mokslas]]

21:53, 13 sausio 2007 versija

Interfeisas - abstraktus objekto aprašas, nusakantis, kokius metodus šis objektas privalo turėti. Tą patį interfeisą paprastai išpildo keletas programoje naudojamų klasių. Ta pati klasė neretai išpildo keletą interfeisų. Galima interfeisų hierarcija, paveldint kai kuriuos būtinus išpildyti metodus iš vienos ar kelių tėvinių interfeisų.

Interfeisus palaiko daugelis modernių programavimo kalbų (Java, C#). Yra specialių kalbų skirtų išimtinai interfeisų aprašymams, pvz. CORBA IDL.

Interfeisai yra labai panašūs į abstrakčios klasės, tik juose, skirtingai nuo abstrakčių klasių, nei viena iš aprašytų funkcijų negali turėti realizacijos aprašo, šis aprašas talpinamas klasėje, kuri naudoja interfeisą. Be to, dalyje programvimo kalbų klasė gali būti kildinama tik iš vienos tėvinės abstrakčios klasės, tačiau išpildyti daug interfeisų.

Pavyzdys (java)

/** Abstrakti geometrinė figūra */
interface Figūra {
    
   /**
   * Trikampiui, kvadratui ar apskritimui plotas skaičiuojamas
   * skirtingomis formulėmis, taigi šis metodas bus išpildytas
   * skirtingai.
   */
   int plotas();
}

Interfeisai naudingu kuriant funkcijas, kurių parametrai gali būti įvairūs objektai, jei tik jie turi šių funkcijų algoritmams reikalingus metodus (pavyzdyje - figūros plotui sužinoti). Jei objekto klasė išpildo keletą interfeisų, toks objektas tinka parametru įvairioms funkcijoms, kurių reikalaujamas argumento tipas skirtingas.