Skip to content

Instantly share code, notes, and snippets.

@aboglioli
Last active May 8, 2016 22:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aboglioli/2c91638f055261fe76ac0d0d7f8e4c10 to your computer and use it in GitHub Desktop.
Save aboglioli/2c91638f055261fe76ac0d0d7f8e4c10 to your computer and use it in GitHub Desktop.
//Estas clases no son la principal… acá No va el main ni el public static void….
class NombreClase1 {
//Sección de los Atributos de la clase y los atributos siempre son PRIVATE
private TipoAtributo1 nombreAtributo1;
private TipoAtributo2 nombreAtributo2;
//Constructor que ingresa cada atributo declarado
public NombreClase(TipoAtributo1 nombreAtributo1, TipoAtributo2 nombreAtributo2,) {
this.nombreAtributo1 = nombreAtributo1;
this.nombreAtributo2 = nombreAtributo2;
}
//Métodos. Los métodos GET y SET son uno por cada atributo y siempre son PUBLIC
// el método GET siempre se declara con el tipo del atributo a devolver
public TipoAtributo1 getNombreAtributo1() {
return nombreAtributo1;
}
//el método SET siempre se declara con VOID
public void setNombreAtributo1(TipoAtributo1 nombreAtributo1) {
this.nombreAtributo1 = nombreAtributo1;
}
// el método GET siempre se declara con el tipo del atributo a devolver
public TipoAtributo2 getNombreAtributo2( ) {
return nombreAtributo2;
}
//el método SET siempre se declara con VOID
public void setNombreAtributo2(TipoAtributo2 nombreAtributo2) {
this.nombreAtributo2 = nombreAtributo2;
}
}
class NombreClase2 {
/*
* atributos de la clase 2
* TipoAtributo puede ser cualquier tipo: String, int, byte, cualquier otro
* tipo de dato, incluso las clases que nosotros declaremos.
*/
private TipoAtributo nombreAtributo;
/*
* Si la clase tiene más atributos, éstos se agregarán teniendo en cuenta
* los tipo de datos. En su mayoría serán “String” para palabras,
* “int” para datos numéricos..
* Además, si esta Clase se relaciona con otra, tendrá un atributo cuyo
* tipo de dato sea el Nombre de la Clase con la que se relaciona y
* el nombre que queramos asignarle al atributo.
* También es PRIVATE.
*/
private NombreClase1 nombreClase1;
//Constructor
public NombreClase2(TipoAtributo nombreAtributo, NombreClase1 nombreClase1) {
this.nombreAtributo = nombreAtributo;
NombreClase2 nombreClase2 = new NombreClase2(atributo1, atributo2);
}
//Los métodos
public TipoAtributo getNombreAtributo( ) {
return nombreAtributo;
}
public void setNombreAtributo(TipoAtributo nombreAtributo) {
this.nombreAtributo = nombreAtributo;
}
public NombreClase1 getNombreClase1() {
return nombreClase1;
}
public void setNombreClase1(NombreClase1 nombreClase1) {
this.nombreClase1 = nombreClase1;
}
}
public class RelacionClases {
public static void main(String[] args) {
NombreClase1 clase1 = new NombreClase1(..., ...);
NombreClase2 clase2 = new NombreClase2(..., clase1);
// Podemos obtener el valor de los atributos, aún si son Clases
TipoAtributo1 atr1 = clase1.getNombreAtributo1();
TipoAtributo2 atr2 = clase1.getNombreAtributo2();
NombreClase1 atr = clase2.getNombreClase1();
// Podemos cambiar el valor de los atributos
clase1.setNombreAtributo1(...);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment