Writing /home/infogasy/domains/wiki.infogasy.net/public_html/data/cache/2/28a7a1c071f407d58e3569d63dffe635.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 :

post1 = { “P1”, new Date(),”Laminasa POJO”,”BLA BLA BLA…”, 0}

Dia azo eritreretina fa ampidirina mitandahatra anaty conteneur Vector iray ireo attribut ireo raha toa izao no endriny rehefa tafiditra :

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));
…….

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

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)

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()));
	}
 
}
 
 

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