Inona indray ary ity Interface ity amin’ny Java ? Hum !!!
Aleo tonga dia handray fampiasana efa natao ary isika hiresahana kely ny momba azy ity.
Ndao ary hataontsika toa izao ilay kilasy Tahiry.java tary amin’ny lesona faha-5 iny
package resakaObjet import java.io.* ; public class Tahiry { private String toerana; // Toerana misy ilay fichier private String anarana; // Anaran?ilay fichier private File tondro; // fanondroana fichier iray fantatra ny toerana misy azy sy ny anarany public Tahiry(String toerana, String anarana) // Constructeur -n'ity kilasy ity { String s = toerana.concat("\\").concat(anarana); // fanondroana tanteraka ilay fichier tondro = new File(s); // Objet File ilaina rehefa hanao E/S (mbola horesahina @ leson manaraka) } }
Tsa mbola hasiantsika resaka aloha ny amin’ity File ity, fa amin’ny lesona faha-10 hiverenantsika ny aminy. Ny tiana havoitra fotsiny eto dia hoe tsy ho abstract mihitsy ity kilasy ity eto (toa ilay tary amin’ny lesona faha-5), satria voafaritra tsara daholo na ireo toetra na ireo hetsika ao anatiny (tsy misy afatsy constructeur aloha ny amin’io hetsika io eto e !)
Dia ahoana ary izany no fomba hatao raha ohatra ka tiantsika ny hametraka hetsika ahafahana manoratra sy mamaky ireo Objet voatahiry anaty fichier tondroin’ny toerana sy anarana isika ?
Isika aloha dia mbola tsy manana eritreritra mialoha hoe: karazana inona ilay tahiry eto ⇒ tsy maintsy izany isika mampiasa ny abstraction mba hanamora ny fampiasana ireo hetsika haorina ireo; izay mazava ho azy izany fa hatao anatina kilasy mitokana koa (satria mantsy efa nesorintsika tao anatin?ilay kilasy Tahiry izireo mba tsy ho abstract io kilasy io.
package resakaObjet abstract public class TahiryES { abstract public void manoratraTahiry() ; abstract public Object mamakyTahiry(Object zavatra) ; }
Hita ary fa raha ampidirina anaty kilasy iray antsoina hoe TahiryES.java ireo hetsika aorintsika hanaovana ireo fampidirana sy famoahana zavatra anaty tahiry fichier ,dia lasa abstract ihany ilay kilasy satria abstract daholo ireo hetsika roa nofaritana.
Rehefa te-hampiasa ireo hetsika ireo izany isika dia tsy maintsy io hampifandraisintsika amin’ilay kilasy Tahiry.java afaka manondro ilay fichier; izay inoana koa fa efa manana eritreritra ny amin’ny hoe karazana inona ireo zavatra ho kirakiraina (soratra, bytecode, binaire, sns ?). Fantatsika tanteraka izany ny fomba fanao anatin?ireo hetsika, satria efa fantara eto ilay karazana fichier.
package resakaObjet public class Tahiry extends TahiryES { private String toerana; // Toerana misy ilay fichier private String anarana; // Anaran'ilay fichier private File tondro; // fanondroana fichier iray fantatra ny toerana misy azy sy ny anarany public Tahiry(String toerana, String anarana) // Constructeur -n?ity kilasy ity { String s = toerana.concat("\\").concat(anarana); // fanondroana tanteraka ilay fichier tondro = new File(s); // Objet File ilaina rehefa hanao E/S (mbola horesahina @ leson manaraka) } public void manoratraTahiry() // fanoratana tanteraka ny fombafomba fanao raha hanoratra anaty tahiry { ............. ; } public Object mamakyTahiry(Object zavatra) // Fombafomba fanao raha hamaky zavatra anaty tahiry { ............. ; } }
Koa satria ary voafaritra mazava izay hataon?ireo hetsika roa tary amin’ny kilasy rainy TahiryES.java ato amin’ity kilasy lasa zanany ity, dia miala hoa azy koa izany ilay abstract ary afaka miasa tsara ny liaison dynamique rehefa mihodina ity kilasy Tahiry.java ity?
Ny fisehoan-zavatra hita ary dia : :
Dia izay no antony nametrahan ny interface, mba hanala io tsininy io:
Ny interface mira abstract daholo ny hetsika ary final na constante daholo ny attribut
package resakaObjet public interface TahiryES { public void manoratraTahiry() ; public Object mamakyTahiry(Object zavatra) ; }
Toy ny fanorenana kilasy ihany ny fanorenana azy, saingy ny tsara tadidiana fotsiny izany dia hoe:
package resakaObjet public class Tahiry implements TahiryES { private String toerana; // Toerana misy ilay fichier private String anarana; // Anaran'ilay fichier private File tondro; // fanondroana fichier iray fantatra ny toerana misy azy sy ny anarany public Tahiry(String toerana, String anarana) // Constructeur -n?ity kilasy ity { String s = toerana.concat("\\").concat(anarana); // fanondroana tanteraka ilay fichier tondro = new File(s); // Objet File ilaina rehefa hanao E/S (mbola horesahina @ leson manaraka) } public void manoratraTahiry() // fanoratana tanteraka ny fombafomba fanao raha hanoratra anaty tahiry { ............ ; } public Object mamakyTahiry(Object zavatra) // Fombafomba fanao raha hamaky zavatra anaty tahiry { ............ ; } }
Hita ary fa ny ambiny dia tsy misy miova fa toy ilay tetsy ambony ihany ny amin’ny fanoratana manontolo ireo fomba fanao anatin?ireo hetsika roa ireo ao anatin?ilay kilasy Tahiry.java.
Fanamarihana:
Ao anaty API n’ny JSE moa dia efa azo fantarina amin’ny Doc API ireo interface rehetra voafaritra manontolo amin’ireo kilasy rehetra misy ao; ka noho izany dia afaka sahady isika mampiasa ireo hetsika anaty interface, araka izay ilaina. Misy moa ny hetsika sasany izay voamarika ihany fa tsy maintsy ianao mampiasa azy no tokony hamaritra izay ao anatin?ireo hetsika voatondro; tsy dia maro anefa izireny, ary matoa misy dia satria manome fahafahana malalaka anao mpampiasa azy ihany no antony.
(Mbola hotohizana ihany?)