Writing /home/infogasy/domains/wiki.infogasy.net/public_html/data/cache/5/573ece6eb6ee0a0521c50583a21c58ea.xhtml failed

====== Fanorenana Informatika mampiasa ny tetika POJO faha II ====== Fanamarihana : Tsy hanazava firy ny fomba fanoratra kilasy Java sy ny atao hoe « objet » isika, satria efa nisy nanazava izany taloha ao amin’ilay lahasoratra « Andao hiresaka objet » **Mikasika ny mpitahiry UCM :** Tsara aloha izany asiana resaka kely ity « conteneur d’objets universels» fampiasa @ny laminasa MSL-POJO ity . Ny fanontaniana lehibe nitadiavana valiny mantsy dia hoe : Ahoana ny hanamorana ny fifampiresahan’ny Objet maro miaramiasa ao anatin’ny “système complexe” iray efa voasaraka sy voafaritra tsara ireo vainga mamorona azy ? “implementation” avy hatrany zany no tena valiny tadiavina eto ! Tsy nandeha lavitra isika fa manana maro raha conteneur d’objets ny API standard-ny SUN, raha tsy hitanisa afatsy : kilasy **Vector, ArrayList , HashSet**, sns …; ho ana “objets” tsotra; na **HashMap, TreeMap**, sns ; raha mitady ho ana “objets associatifs” isika. Tsotra zany ny tetika : UCM karazany 1: - fantatra fa ny “objet” rehetra namboarina avy amina kilasy iray dia tokony ho voafaritra tsara daholo ny sandan’ireo “attribut”-ny avy. Azo eritreretina izany hoe andao hampidirina anaty tahirina “objets” tsotra toy ny **Vector** ohatra ny sanda tsirairain’ireo “objets” kirakiraina : ** Ohatra :** kilasy iray antsoina hoe : **Post** manana attribut : idPost, date, titre, contenu,niveau Raha misy objet iray post1 karazany **Post** ohatra ka manana sanda : <code java> post1 = { “P1”, new Date(),”Laminasa POJO”,”BLA BLA BLA…”, 0} </code> Dia azo eritreretina fa ampidirina mitandahatra anaty conteneur Vector iray ireo attribut ireo raha toa izao no endriny rehefa tafiditra : <code java> item1 => { “P1”, new Date(),”Laminasa POJO”,”BLA BLA BLA…”, new Integer(0) } ……. Vector item1 = new Vector(); item1.add(“P1”); item1.add(new date()); item1.add(“Laminasa POJO”); item1.add(new Integer(0)); ……. </code> Raha misy objet toa io hafa koa hatao toa izany ny fampidirana azy anaty **Vector** antsoina hoe **itemX** ohatra, ary indrindra mety avy amina kilasy hafa famaritana mihitsy fa tsy voatery avy @ny Post ihany (ohatra) !… dia zavatra iray no itovizany : karazany Vector daholo izireo na avy amina kilasy samihafa aza. Farany dia hampidirina anaty **Vector** iray **itemUCM** fonosona indray ireo **itemX** maro be ireo. Dia aseho sary ambany izany ny fijery ireo mpitahiry objet antsoina hoe UCM ireo. **Vector itemUCM = new Vector(); itemUCM.add(item1); …………… itemUCM.add(itemX);** {{:wiki:pojo03.png|:wiki:pojo03.png}} Fampiharana izay tetika izay amin’ny kilasy rehetra ary dia tonga dia raisintsika io ohatra ilay kilasy **Post** tetsy ambony io miaraka @ny “methodes” afaka mampihatra ilay fijery **UCM**. (Tsy version “production” – ny UCM no aseho eto, fa mba ahafahana mamantatra ilay fiasan’ireo méthodes no anaovana azy toa izao …) **Fanamarihana :** Tsara mantsy rehefa voafehy tsara ilay tetika dia mampiasa ny “Refection Java” @ireo kilasy rehetra, rehefa hanamboatra ny tahiry **UCM**. (haroso eto ihany izay fika iray izay aoriana kely) <code java> package tetikaPOJO; import java.util.Date; import java.util.List; import java.util.Vector; public class Post { private String idPost; private Date datePost; private String titre; private String contenu; private int niveau; public Post() {} public Post(String idPost, Date datePost, String titre, String contenu, int niveau) { this.contenu = contenu; this.datePost = datePost; this.idPost = idPost; this.niveau = niveau; this.titre = titre; } public String getContenu() { return contenu; } public void setContenu(String contenu) { this.contenu = contenu; } public Date getDatePost() { return datePost; } public void setDatePost(Date datePost) { this.datePost = datePost; } public String getIdPost() { return idPost; } public void setIdPost(String idPost) { this.idPost = idPost; } public int getNiveau() { return niveau; } public void setNiveau(int niveau) { this.niveau = niveau; } public String getTitre() { return titre; } public void setTitre(String titre) { this.titre = titre; } public String toString() { return "Post : "+idPost+":"+datePost+":"+titre+":"+contenu+"|"+niveau; } /** * Placer les attributs de cet objet dans un Vector et le renvoie * @return type Vector */ public List toVector() { Vector v = new Vector(); v.add(this.idPost); v.add(this.datePost); v.add(this.titre); v.add(this.contenu); v.add(new Integer(this.niveau)); return v; } /** * Parser le contenu d'un vector pour produire les attributs de l'objet courant * @param v vector devant être conforme UCM * @return reproduire l'objet correspondant */ public Post formVector(List v) { try { this.setIdPost(v.get(0).toString()); this.setDatePost((Date)v.get(1)); this.setTitre(v.get(2).toString()); this.setContenu(v.get(3).toString()); this.setNiveau(((Integer)v.get(4)).intValue()); return this; } catch(Exception e) { return null; } } static public void main(String arg[]) { Post post1 = new Post("P1",new Date(),"Laminasa POJO","BLA BLA BLA ...",2); System.out.println(post1+"\nVector :"+post1.toVector()+ "\nFromVecor :"+post1.formVector(post1.toVector())); } } </code>

 

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