Thursday, September 5, 2019

Acab2.java

/* By: Maurici Carbó of nummolt apps Sept 2019
Convenció de Colors:
Comanaments de les Classes de Java
Classes de Java Prefabricades
@anotacions
Paraules Clau de Java
Cadenes de paraules
////Comentaris  */


//////////////////////Acab2.java////////////////  


import java.time.LocalTime;
import org.eclipse.jdt.annotation.Nullable;


public class EsserHuma {
    public LocalTime m_dataNaixement;
    public EsserHuma m_papa;
    public EsserHuma m_mama;
    public String m_nom;

    public EsserHuma(){/*buit*/}
    public EsserHuma(LocalTime datanaixement,@Nullable EsserHuma papa,
                            EsserHuma mama, @Nullable String nom){
        m_dataNaixement=datanaixement;
        m_papa=papa;
        m_mama=mama;
        m_nom=nom;
    }
    public void print() {
        if(m_papa != null || m_mama != null) {
        System.out.println(m_dataNaixement+ " nom propi: "+ m_nom +"Pare: "+ m_papa.m_nom+ " Mare: "+m_mama.m_nom);
        }
        else {
            System.out.println(m_dataNaixement+" nom propi: "+ m_nom);
        }
    }
}




public class Ciutada extends EsserHuma{
    Escola m_escola;
   
    public Ciutada(LocalTime datanaixement,@Nullable EsserHuma papa,
                EsserHuma mama, @Nullable String nom, Escola escola){
        super(datanaixement, papa, mama, nom);
        m_escola= escola;
    }
  
    static Poli nomenarPoli(Ciutada ciutada){
        return Poli.nomenarPoli(ciutada);
    }
    public void print() {
        System.out.println(m_dataNaixement+ " nom propi: "+m_nom +" Pare: "+ m_papa.m_nom+ " Mare: "+m_mama.m_nom);
    }
}


public final class Poli extends Ciutada{
    int m_numeroPlaca;

    private Poli(LocalTime datanaixement, EsserHuma mama, Escola escola){
        super(datanaixement, null, mama, "-", escola);
        Humanitat.m_darrerNumPlaca++;
        m_numeroPlaca=Humanitat.m_darrerNumPlaca;
    }      

     static Poli nomenarPoli(Ciutada ciutada){
        return new Poli(ciutada.m_dataNaixement, ciutada.m_mama, ciutada.m_escola);
    }
    
     public void print() {
         System.out.println(m_dataNaixement+ " nom propi: "+ m_nom + " Mare: "+m_mama.m_nom + " Poli num Placa: "+ m_numeroPlaca);
     }
}



public class Escola {
    String m_nomEscola;
    EsserHuma m_director;
    ArrayList<Ciutada> m_arlExAlumnes;
 
    public Escola(String nomEscola,EsserHuma director){
        m_arlExAlumnes=new ArrayList<Ciutada>();
        m_nomEscola= nomEscola;
        m_director= director;
    }

    public Ciutada ensenyar(EsserHuma esserhuma){
        Humanitat.m_arlHumanitat.remove(esserhuma);
        EsserHuma alumne=esserhuma;
        Ciutada alumneEnsenyat=new Ciutada(alumne.m_dataNaixement, alumne.m_papa,
                                        alumne.m_mama, alumne.m_nom, this);
        Humanitat.m_arlHumanitat.add(alumneEnsenyat);
        m_arlExAlumnes.add(alumneEnsenyat);
        return alumneEnsenyat;
    }
}


public class  Humanitat {
    static ArrayList<Escola> m_arlEscoles;
    static ArrayList<EsserHuma> m_arlHumanitat;
    static int m_darrerNumPlaca=0;
  
    public Humanitat() {
        m_arlEscoles = new ArrayList<Escola>();
        m_arlHumanitat= new ArrayList<EsserHuma>();
    }
  
    static public void nouMembreHumanitat(EsserHuma nouesserhuma){
        m_arlHumanitat.add(nouesserhuma);
    }

    public static void ferEscola(String nomEscola, EsserHuma director){
        m_arlEscoles.add(new Escola(nomEscola, director));
    }
  
    public static Ciutada ensenyar(EsserHuma esserhuma, Escola escola){
        return escola.ensenyar(esserhuma);
    }

    public static void nomenarPoli(Ciutada ciutada){
        m_arlHumanitat.remove(ciutada);
        Ciutada anticCiutada=ciutada;
        Poli nouPoli=Poli.nomenarPoli(anticCiutada);
        m_arlHumanitat.add(nouPoli);
    }
    public static void llistatHumanitat() {
        for(EsserHuma esserhuma: m_arlHumanitat) {
            esserhuma.print();
        }
    }
}


public class Acab {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            new Humanitat();
            EsserHuma adam=new EsserHuma(); ////buit
            EsserHuma eva=new EsserHuma();  ////buit
            adam.m_dataNaixement= LocalTime.now();
            eva.m_dataNaixement=  LocalTime.now();
            adam.m_nom="Adam";
            eva.m_nom="Eva";
            Humanitat.nouMembreHumanitat(adam);
            Humanitat.nouMembreHumanitat(eva);
            Humanitat.ferEscola("EscolaDelParadís", adam);
            EsserHuma caim= new EsserHuma(LocalTime.now(),adam, eva, "Caim");
            EsserHuma abel= new EsserHuma(LocalTime.now(),adam, eva, "Abel");
            Humanitat.nouMembreHumanitat(caim);      
            Humanitat.nouMembreHumanitat(abel);
            Ciutada caimEnsenyat= Humanitat.ensenyar(caim, Humanitat.m_arlEscoles.get(0));
            Ciutada abelEnsenyat= Humanitat.ensenyar(abel, Humanitat.m_arlEscoles.get(0));
            Humanitat.nomenarPoli(caimEnsenyat);
            Humanitat.llistatHumanitat();
    }
}




////////////////////////////MÓN REAL/////////////////////////////////
///////Primera referència al Twitter sobre aquest arxiu:
///// https://twitter.com/macajo/status/1169660828087402498https://twitter.com/macajo/status/1169660828087402498://twitter.com/macajo/status/1169660828087402498?s=20
/////////////////////////////////////////////////////////////////////






No comments:

Post a Comment

Note: Only a member of this blog may post a comment.