Andao indray Hiresaka Objet faha IX

Mikasika ny Interface

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?)