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

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Ištrintas turinys Pridėtas turinys
SieBot (aptarimas | indėlis)
S robotas Pridedama: zh:介面 (資訊科技)
SieBot (aptarimas | indėlis)
S robotas Pridedama: bn:ইন্টারফেস
Eilutė 100: Eilutė 100:


[[ast:Interfaz]]
[[ast:Interfaz]]
[[bn:ইন্টারফেস]]
[[cs:Rozhraní (informatika)]]
[[cs:Rozhraní (informatika)]]
[[de:Schnittstelle]]
[[de:Schnittstelle]]

16:30, 7 lapkričio 2010 versija

   Šį puslapį ar jo dalį reikia sutvarkyti pagal Vikipedijos standartus.
Jei galite, sutvarkykite.

Sąsaja – abstraktus objekto klasės aprašas, nusakantis, kokius metodus ši klasė privalo turėti. Tą pačią sąsają gali išpildyti keletas programoje naudojamų klasių. Ta pati klasė neretai išpildo keletą sąsajų. Galima sąsajų hierarchija, paveldint būtinus išpildyti metodus iš vieno ar kelių tėvinių sąsajų.

Sąsajas palaiko daugelis modernių programavimo kalbų (Java, C#). Yra specialių kalbų skirtų išimtinai sąsajoms aprašyti, pvz., CORBA IDL.

Sąsajos yra labai panašios į abstrakčias klases, tik jose, skirtingai nuo abstrakčių klasių, nei viena iš aprašytų funkcijų negali turėti realizacijos aprašo, šis aprašas talpinamas klasėje, kuri išpildo sąsają. Be to, kai kuriose programvimo kalbose klasė gali būti kildinama tik iš vienos tėvinės klasės, tačiau išpildyti daug sąsajų.

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();
}

Sąsajos naudingos kuriant funkcijas, kurių parametrai gali būti įvairių klasių objektai, jei tik šių objektų klasės turi šių funkcijų algoritmams reikalingus metodus (pavyzdyje – figūros plotui sužinoti). Jei objekto klasė išpildo keletą sąsajų, tokios klasės objektas tinka parametru įvairioms funkcijoms, kurių reikalaujamas argumento tipas gali būti bet kuri iš sąsajų.