Sąsaja (programavimas): Skirtumas tarp puslapio versijų
reikia tvarkyti |
Nėra keitimo santraukos |
||
Eilutė 1: | Eilutė 1: | ||
{{cleanup}} |
{{cleanup}} |
||
''' |
'''Sąsaja''' – abstraktus [[Objektas (programavimas)|objekto]] [[Klasė (programavimas)| klasės]] aprašas, nusakantis, kokius [[metodas (programavimas)|metodus]] ši klasė privalo turėti. Tą pačią sąsają gali išpildyti keletas programoje naudojamų [[klasė|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_(kalba)|Java]], C#). Yra |
|||
specialių kalbų skirtų išimtinai |
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 [[abstrakti klasė|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) == |
== Pavyzdys (java) == |
||
Eilutė 20: | Eilutė 20: | ||
} |
} |
||
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ų. |
|||
[[Category:Kompiuterių mokslas]] |
[[Category:Kompiuterių mokslas]] |
||
[[en:Interface (computer science)]] |
[[en:Interface (computer science)]] |
||
<!--! |
<!--! |
||
== PHP5 Programavimo kalbos |
== PHP5 Programavimo kalbos sąsajos ir klasės pavyzdys == |
||
<?php |
<?php |
15:04, 16 rugsėjo 2008 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ų.