Writing /home/infogasy/domains/wiki.infogasy.net/public_html/data/cache/7/7cc6edc02dcae65c4c67dc6de51614d3.xhtml failed

Andao hiresaka Objet II

N.B: Miala tsiny aloha raha tsy dia nilamina ireo rafitra teo aloha ! Ka alohan’ny hanohizana ilay kojy objet tohiny dia averina eto ambany aloha ny tsara ho tadidy tamin’ny resaka teo aloha; ny amin’ilay ohatra fanaovana Adisanina.

FAMPIDIRANA I

Ny fomba voalohany (mifototra amin’ny fombafomba fanao : orientee action)

  • kajyAdisanina:
    • raisina ilay “donnee” voalohany
    • raisina ny faharoa, dia atao ny tambatra dia tehirizina
    • Avoaka ny tahiry farany (voakatra ny adisanina natao)
  • Alaina ireo donnees avy any misy azy misy azy, inona avy

ireo karazany ary fomba ahoana no hangalana sy hametrahana azy.

Ohatra:

Valiny = kajyAdisanina(sanda1, sanda2);

Fanamarihana: raha sendra miova ireo karazana donnees (type) kirakiraina dia tsy maintsy faritana manokana amin’ny fomba fanao hafa koa izay tranga adisanina izay

Ohatra amin’ny C:

float kajyAdisanina(float a, float b)
 
{
   return a + b ;
} // ilay fomba fanaovana adisanina io.
 
Resultat = kajyAdisanina (15.8, 7.5); // fampidirana ireo sanda reel ho kajiana (donnees)
//De ahona zany raha ohatra ka miova ireo karazan'ny sanda ? ohatra chaine no atao adisanina:
Resultat = kajyAdisanina("Infogasy","Gasy") ?

Ny fomba faharoa (fijery mifototra amin’ny objet : oriente objet):

  • Faritana mazava aloha ny toetra ankapoben’ilay zavatra (mety hatao adisanina, na mbola tsy fantatra mazava aza izireo)

Ohatra:

ZavatraAzoKajiana :
{
   sandany(karazana : Object) //famaritana ny toetrany;
   kajyAdisanina (karazana argument ekena : Object) // hetsika azony atao na atao aminy;
}
Valiny = ZavatraAzoKajianaIray.kajyAdisanina(sandaHafa);

Fanamarihana: raha sendra miova ireo karazana atao adisanina, dia :

  • tsy miova ny toetoetran’ilay fomba fanao, fa ny karazan’ireo sanda ampihaonana no misafidy izay fombafomba mety amin’izireo avy.
  • na manampy fotsiny ianao famaritana zanany manitsy ny fomba fanaovana ilay adisanina, io ilay “fandovana = heritage”, mampalaza ny “objet”, raha aseho tsotsotra eto amin’ity ohatra ity.

Fomba roa mety azo raisina, ireo nefa dia mbola mety misy fika hafa koa ampiharina an !

Ohatra amin’ny Java:

public class ZavatraAzoKajiana
    {
        private Object sanda; // toetran'ilay objet
        public ZavatraAzoKajiana(Object sandaHafa)
          {
            sanda = sandaHafa;
          } // famoronana objet iray, na constructeur no fiantso azy.
  
        public Object getSanda()
          {
            return sanda;                     
          } // toy izao ilay fijerena avy ivelany ny toetra anatin'ity objet ity (fa tsy tsara ny mamaky mivantana ny toetra "sanda"; ohatra eto)
        
        public void setSanda(Object sandaHafa)
          {
            sanda = sandaHafa;
          } // na fanovana avy ivelany ny sanda
 
        public Object kajyAdisanina(double sandaHafa) // fomba fanao raha reel no atao adisanina
          {
            Double d = (Double)getSanda();
            return new Double(d.doubleValue()+sandaHafa) ;
          }
 
        public Object kajyAdisanina(String sandaHafa) // fomba fanao raha chaine no atao adisanina
          {
            String s = (String)getSanda();
            return s.concat(sandaHafa);
          }  
    }

FAMPIDIRANA II

Rehefa resy lahatra zany isika fa tena tsara ilay fomba fijery mifototra amin’ny avy hatrany amin’ny Objet dia, andao aloha hasiana resaka kely ihany ny amin’ilay milina virtoaly (Machine virtuelle) mampohodina ireo vainga programa nosoratana amin’ny fomba fijery objet ireo. Ho an’ny tontolo Java dia antsoina hoe Java Virtual Machine(JVM) izy io; ho an’ny mpanoratra amin’ny tontolo.NET dia Common Language Runtime (CLR) no toa fiantso azy izay.

Fa ny tena zava-dehibe dia mila ireo milina virtoaly ireo izany ny vainga voaorina amin’ny rafitra objet malaza ankehitriny. Zava-dehibe tokoa mantsy atsy ho atsy ny antsoina hoe : “interoperabilite”, ka noho izany dia ny fisian’io milina virtoaly io no anisan’ny vaha-olana amin’ny fahamaroan’ny milina fizika samy hafa misy hatrizay nisian’ny siansan’ny Informatika izay.

Ho an’ny Java:

Ny vainga azon’io JVM ahodina avy hatrany dia ireo antsoina hoe bytecode, izay ireo classe source no natao compilation tamin’ny commande javac, ka rehefa hanodina azy eo ambonin’ilay JVM kosa dia ny commande java no antsoina miaraka amin’ilay bytecode :

Ohatra: famadihana ho bytecode:

 javac   ZavatraAzoKajiana.java

Dia lasa hoe: ZavatraAzoKajiana.class ilay bytecode aterak’io commande io.

Rehefa ahodina amin’ilay JVM indray ireo bytecode dia :

 java   ZavatraAzoKajiana

De mihodina avy hatrany ilay praogramanao !!!

Dray dray ! toa tena tsy nisy inona akory nivoaka k’ity : java.lang.NoSuchMethodError : main. hono no laza diso avoakan’ilay komandy.

Ekany tokotrany : ... hay moa mbola tsy nanambara akory isika hoe inona marina ary no ndeha hasaintsika hampanaovina an’ilay Objet voafaritra tery ambony. Izay no anton’io laza diso avoakan’ilay JVM io.

Ho an’ny Java aloha dia ny antsoina hoe JRE : Java Runtime Environnement dia ampy mampihodina ireo bytecode vitanao, fa raha ohatra kosa hamorona source Java foana ianao dia tsara manana JDK (Java Developer’s Kit) ka ilay JSE (Java Standard Edition) dia efa ampy hanombohana (tsara raha version 1.2 no miakatra no safidiana; i Tiger na JSE 1.5 moa ny farany navoakan’ny Sun)

Inona izany ilay main resahin’ny JVM io ? Aleo ary hampiantsika toa izao ilay classe-ntsika tery ambony iny:

public class ZavatraAzoKajiana
    {               ...................
        static public void main(String arg[])
        {
            /* Hanao adisanina karazan-zavatra roa isika eto : soratra fotsiny ny voalohany ary
    * isa reel ny faharoa
  */
            ZavatraAzoKajiana zavatra1 = new ZavatraAzoKajiana ("Infogasy ");
            ZavatraAzoKajiana zavatra2 = new ZavatraAzoKajiana (new Double(457.3));
            System.out.println("Voalohany : " + zavatra1.kajyAdisanina("Nety"));
            System.out.println("Faharoa : " + zavatra2.kajyAdisanina(42.7));
        }
    }

Valin’ilay komandy : java ZavatraAzoKajiana

Voalohany : Infogasy Nety
Faharoa : 500.0

Fanazavana tsotsotra:

Io methode na hetsika main farany nampiantsika an’ilay classe io zany dia entina hampanaovina zavatra voatondro tsara amin’ireo Objet noforonina avy amin’ilay classe ZavatraAzoKajiana, raha io ny famaritana ny ao anatin’ilay hetsika main io.

Hitantsika amin’ny valiny avoakan’ilay komandy : java ZavatraAzoKajianaary fa namoaka zavatra roa samy hafa karazana ilay kajy roa nataontsika nefa hetsika mitovy anarana no nampiasana amin’izireo.

(Mbola hitohy !)


Lahatsoratra Java

 

andaohiresakaobjetfahaii.txt · Novaina farany:: 2008/09/11 12:43