SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Que mier.. es un get y
set!!!
Hecha por un tipo harto de escuchar conversaciones que envuelven estudiante de progra1
confundidos por sus maestros.
Para entender que es un get y set, hay que entender primero
que es un metodo. Una vez entendido eso, la pregunta inicial
parecerá estúpida y en el mejor de los casos estarás
avergonzado de haberte hecho la pregunta en cuestion.

Se espera que luego de ver esta presentacion puedas hacer
esto con tu compañeros:
Metodos
Un metodo es algo que hacen los objetos y ya.

Pueden recibir “parámetros” o no, dependiendo de lo que
se necesita hacer.
Pero que pu.. es un parámetro?
Un parametro es informacion adicional que se necesita para que
un objeto realice un tarea. Por ejemplo:
Supongamos que soy una calculadora (de las caras :D ) y me
pedís: “Sumale algo a 4 y me decís cuanto es”. Yo no soy un
maldito adivino y no puedo saber cuánto debo sumarle, eso que
necesito para realizar mi tarea se llama PARAMETRO.
La instrucción correcta debe ser: “Sumale 20 a 4 y me decis
cuanto es”.
Yo he definido mi metodo sumar como: la suma de 4 más lo que
sea que me den de parámetro. Algo así:
Public Int sumar(int cuanto){
         return cuanto + 4;
}
Metodos que devuelven algo y
metodos que NO


• Algunas veces se necesita saber que rayos hizo el metodo
  para poder usarlo en algun calculo.

 Si un metodo no devolverá NADA su tipo de retorno será
 VOID, void es algo así como NI MIER..
Ejemplo


• Considerese el siguiente metodo:

  public void raiz(int x){
• double algo = Math.sqrt(x);
• }
El anterior metodo NO puede usarse en algun calculo como:
8 + raiz(10), porque su tipo de retorno es VOID. Cualquier
intento de retornar algo en un metodo void, resulta en un
compilador frustrado que se negará a generar bytecode.
Como lo siguiente:

bla bla void metodo(){
  return algo;
}
Y para que rayos usamos los
metodos void?
• Para que un objeto haga algo y ya, no importandonos
  que fue lo que hizo. Considerese la siguiente
  conversacion entre dos objetos:

• A: mae movete cinco pasos porfa.
  B: ok.
  A: y?
  B: Y que? Mover es void.
  A: no me dijiste si lo hiciste o no.
• B: no fue lo que me pediste.
Explicacion cientifica


El objeto B tiene definido su metodo mover asi:
public void mover(int pasos){
  miPosicion += 5;
}
El objeto A sos vos un programador chiflado que escribio
todo el codigo de B y que no se acuerda de como lo hizo.
Que hago para que B me diga si
hizo lo que le pedí o no?


Debe definirse el metodo mover() así:
public boolean mover(int pasos){
  miPosicion += pasos;
  Return true;
}
Con el anterior metodo la conversacion siguiente finaliza con
todos felices:

A: mae movete cinco pasos porfa.
B: ok. Si lo hice.
A: ok! ^_^
Y como me devolvería false? Te estarás preguntanto. Pues como
está el metodo escrito, jamás devolverá false.
METODOS GET
• A un metodo se le puede dar el nombre que a uno se le antoje
  al momento de crearlo. Algunas veces tenemos atributos
  PRIVADOS en una clase y queremos que se puedan usar
  afuera de ella cuando se ocupen. No podemos invocarlo por
  el poder de greiscol así:
  objeto.atributo. Porque el atributo es PRIVADO!
  Para solucionar eso, creamos un metodo que devuelva el
  atributo.
• Programadores sensatos usualmente nombran a estos
  metodos así:
  verboIndicandoObtencion + nombreAtributo

 Dado un atributo X en una clase cualquiera, un metodo para
 devolver ese valor podría llamarse:
 obtenerEquis();

 Pero pudo haberse llamado de cualquier forma. Algunos
 programadores spanglishistas nombran esos metodos así:
 verbIndicatingGet + nombreAtributo

• Nuestro metodo anterior se habría llamado:
  getEquis()
• Si un programador spanglish lo hubiera hecho
Puedo tener un get que se
void?


• Claro que puedes, deberas depues atenerte a las
  consecuencias de tener un metodo void, no poder usarlo
  en calculos y NO poder asignarselo a una variable.
Si tengo un atributo privado que es un arreglo de String, como
uso sus elementos afuera de la clase?

  • Paso 1. Planear el metodo.
Segun el problema se necesita devolver los elementos
individuales del arreglo NO el arreglo. Entonces algo como:
Public String[] getArreglo(){
  return this.arreglo;
}
Seria tan util como un control inalambrico sin baterias.
Rapidamente podemos darnos cuenta de que para
sacar un elmento del arreglo necesitamos
informacion adicional. Un parámetro. Ese parámetro
es el índice.

Paso 2. Escribir el metodo.
Public String getElementoEnPosicion(int indice){
  return this.arreglo[indice];
}

El nombre aqui es muy largo pero ilustra lo que se
quiere hacer. En la vida real el perro de la derecha se
burlaría despiadadamente de vos si le pones ese
nombre.
METODOS SET
• Siguiendo con la situacion de tener un atributo privado X, si se
  necesita cambiar ese valor desde afuera no podemos hacer
  algo así:
• objeto.atributoX = algo;
• Porque el atributo es PRIVADO.
• Para solucionar eso creamos un metodo que me permita
  cambiar ese valor desde adentro del objeto.
• Programadores sensatos, usualmente nombran a estos metodos
  así:
  verboIndicandoModificacion + nombreAtributo
• Asi que nuestro metodo para cambiar el valor de X se llamaría
  así:
  establecerEquis()
• Y si es spanglish:
  setEquis()
• Y si es ingles puro:
  setX();
• Puedo tener un metodo Set que devuelva algo?
• Por supuesto que sí. Puedes definir tus metodos como se te
  venga a la mente en el momento.
  Sin embargo, usualmente los metodos que cambian el valor
  de un atributo, sólo lo hacen y ya.
  Al hacer que devuelva algo, te arriesgas a que programadores
  inexpertos, hagan lo que el perro de la esquina.
• Los metodos set generalmente necesitan de un parámetro
  para realizar su tarea. Considerese la siguiente conversacion:
  A: oye B, cambia el valor de tu atributo X.
  B: ok! ..un momento, pero, a qué valor? Que hago Dios mio!
  Ahhhhh!!!
• En la situacion anterior se observa que el programador quiere
  cambiar el valor de X de B, pero no le dice el nuevo valor.
• Paso 1. Pensar el metodo
Se necesita un parametro, ese parametro será el nuevo valor
para X.
  • Paso2. Escribir el metodo
Public void setX(Tipo valor){
  this.X = valor;
}
• En que caso puedo tener un establecer si parametros?
• En caso de que el nuevo valor este cambiando en otro lado.
  Por ejemplo:
  Public void setX(){
    this.X = Y + 8;
  }
  Si resulta que ‘Y’ siempre es igual el perro de la esquina se
  sentirá muy feliz.
• Si yo se que esperabas al mismo perro otra vez :D

Más contenido relacionado

La actualidad más candente

Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)sarai0000
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacionJaime amambal
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++Andy Otañez
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con NetbeansRandy
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 

La actualidad más candente (20)

Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Recursividad
RecursividadRecursividad
Recursividad
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 

Destacado

Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVAJose Diaz Silva
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)Manuel Ch.
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Complejidad de problemas
Complejidad de problemasComplejidad de problemas
Complejidad de problemasrodrigoalseco
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionAndoni Eguíluz Morán
 
El arte de programar c++ - versión 3.0
El arte de programar   c++ - versión 3.0El arte de programar   c++ - versión 3.0
El arte de programar c++ - versión 3.0javiel162009
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectoresJose Diaz Silva
 
POO Unidad 2: Clases y objetos Ejercicio 1
POO Unidad 2: Clases y objetos Ejercicio 1POO Unidad 2: Clases y objetos Ejercicio 1
POO Unidad 2: Clases y objetos Ejercicio 1Fabiola Valerio Ramirez
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto bibliotecaTerryJoss
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosJose E. Rodriguez Huerta
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividadpbcanessa
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaAngel Vázquez Patiño
 
Funciones amigas
Funciones amigasFunciones amigas
Funciones amigasdaosma
 

Destacado (20)

Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVA
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Curso java
Curso javaCurso java
Curso java
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Complejidad de problemas
Complejidad de problemasComplejidad de problemas
Complejidad de problemas
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 Introduccion
 
El arte de programar c++ - versión 3.0
El arte de programar   c++ - versión 3.0El arte de programar   c++ - versión 3.0
El arte de programar c++ - versión 3.0
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
 
POO Unidad 2: Clases y objetos Ejercicio 1
POO Unidad 2: Clases y objetos Ejercicio 1POO Unidad 2: Clases y objetos Ejercicio 1
POO Unidad 2: Clases y objetos Ejercicio 1
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
 
Herencia
HerenciaHerencia
Herencia
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a Objetos
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividad
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
 
Estructuras y clases
Estructuras y clasesEstructuras y clases
Estructuras y clases
 
Funciones amigas
Funciones amigasFunciones amigas
Funciones amigas
 
8.clases y objetos en c++
8.clases y objetos en c++8.clases y objetos en c++
8.clases y objetos en c++
 

Similar a Metodos Get y Set, finalmente revelados.

PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)yanburbano
 
Cómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificialCómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificialCarlos Toxtli
 
Proyecto de aula final alemania 25946
Proyecto de aula final alemania 25946Proyecto de aula final alemania 25946
Proyecto de aula final alemania 25946David Cadena
 
Inteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to HeroInteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to HeroCarlos Toxtli
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12jack_corvil
 
Proyecto de aula alemania 25946
Proyecto de aula alemania 25946Proyecto de aula alemania 25946
Proyecto de aula alemania 25946David Cadena
 
Portafolio de informtica
Portafolio de informticaPortafolio de informtica
Portafolio de informticaernestboom
 
cuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdfcuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdfhenrrycoylaquispe
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Tecnisistemas
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Omar Rodriguez
 
Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448pfabreg4
 
Todo lo que un desarrollador no puede desconocer de javascript tutorial j q...
Todo lo que un desarrollador no puede desconocer de javascript   tutorial j q...Todo lo que un desarrollador no puede desconocer de javascript   tutorial j q...
Todo lo que un desarrollador no puede desconocer de javascript tutorial j q...Marcelino Ortiz
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplosIvan Luis Jimenez
 
Metodología para el Análisis y Planteamiento del Problema
Metodología para el Análisis y Planteamiento del ProblemaMetodología para el Análisis y Planteamiento del Problema
Metodología para el Análisis y Planteamiento del ProblemaJosé Ricardo Tillero Giménez
 
OOP-JS pjs
OOP-JS pjsOOP-JS pjs
OOP-JS pjsJona Val
 
OOP.JAVAS pjs
OOP.JAVAS pjsOOP.JAVAS pjs
OOP.JAVAS pjsJona Val
 
Planificación clase 17 05
Planificación clase 17 05Planificación clase 17 05
Planificación clase 17 05Walter Agustín
 

Similar a Metodos Get y Set, finalmente revelados. (20)

PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
 
Cómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificialCómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificial
 
Proyecto de aula final alemania 25946
Proyecto de aula final alemania 25946Proyecto de aula final alemania 25946
Proyecto de aula final alemania 25946
 
Inteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to HeroInteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to Hero
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
 
Proyecto de aula alemania 25946
Proyecto de aula alemania 25946Proyecto de aula alemania 25946
Proyecto de aula alemania 25946
 
Portafolio de informtica
Portafolio de informticaPortafolio de informtica
Portafolio de informtica
 
cuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdfcuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdf
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1
 
Tutorial de Scratch
Tutorial de ScratchTutorial de Scratch
Tutorial de Scratch
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1
 
Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448
 
Todo lo que un desarrollador no puede desconocer de javascript tutorial j q...
Todo lo que un desarrollador no puede desconocer de javascript   tutorial j q...Todo lo que un desarrollador no puede desconocer de javascript   tutorial j q...
Todo lo que un desarrollador no puede desconocer de javascript tutorial j q...
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplos
 
Metodología para el Análisis y Planteamiento del Problema
Metodología para el Análisis y Planteamiento del ProblemaMetodología para el Análisis y Planteamiento del Problema
Metodología para el Análisis y Planteamiento del Problema
 
Cuadernillo scratch 3
Cuadernillo scratch 3Cuadernillo scratch 3
Cuadernillo scratch 3
 
OOP-JS pjs
OOP-JS pjsOOP-JS pjs
OOP-JS pjs
 
OOP.JAVAS pjs
OOP.JAVAS pjsOOP.JAVAS pjs
OOP.JAVAS pjs
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
 
Planificación clase 17 05
Planificación clase 17 05Planificación clase 17 05
Planificación clase 17 05
 

Último

Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 

Último (20)

Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 

Metodos Get y Set, finalmente revelados.

  • 1. Que mier.. es un get y set!!! Hecha por un tipo harto de escuchar conversaciones que envuelven estudiante de progra1 confundidos por sus maestros.
  • 2. Para entender que es un get y set, hay que entender primero que es un metodo. Una vez entendido eso, la pregunta inicial parecerá estúpida y en el mejor de los casos estarás avergonzado de haberte hecho la pregunta en cuestion. Se espera que luego de ver esta presentacion puedas hacer esto con tu compañeros:
  • 3. Metodos Un metodo es algo que hacen los objetos y ya. Pueden recibir “parámetros” o no, dependiendo de lo que se necesita hacer.
  • 4. Pero que pu.. es un parámetro? Un parametro es informacion adicional que se necesita para que un objeto realice un tarea. Por ejemplo: Supongamos que soy una calculadora (de las caras :D ) y me pedís: “Sumale algo a 4 y me decís cuanto es”. Yo no soy un maldito adivino y no puedo saber cuánto debo sumarle, eso que necesito para realizar mi tarea se llama PARAMETRO. La instrucción correcta debe ser: “Sumale 20 a 4 y me decis cuanto es”. Yo he definido mi metodo sumar como: la suma de 4 más lo que sea que me den de parámetro. Algo así: Public Int sumar(int cuanto){ return cuanto + 4; }
  • 5. Metodos que devuelven algo y metodos que NO • Algunas veces se necesita saber que rayos hizo el metodo para poder usarlo en algun calculo. Si un metodo no devolverá NADA su tipo de retorno será VOID, void es algo así como NI MIER..
  • 6. Ejemplo • Considerese el siguiente metodo: public void raiz(int x){ • double algo = Math.sqrt(x); • }
  • 7. El anterior metodo NO puede usarse en algun calculo como: 8 + raiz(10), porque su tipo de retorno es VOID. Cualquier intento de retornar algo en un metodo void, resulta en un compilador frustrado que se negará a generar bytecode. Como lo siguiente: bla bla void metodo(){ return algo; }
  • 8. Y para que rayos usamos los metodos void? • Para que un objeto haga algo y ya, no importandonos que fue lo que hizo. Considerese la siguiente conversacion entre dos objetos: • A: mae movete cinco pasos porfa. B: ok. A: y? B: Y que? Mover es void. A: no me dijiste si lo hiciste o no. • B: no fue lo que me pediste.
  • 9. Explicacion cientifica El objeto B tiene definido su metodo mover asi: public void mover(int pasos){ miPosicion += 5; } El objeto A sos vos un programador chiflado que escribio todo el codigo de B y que no se acuerda de como lo hizo.
  • 10. Que hago para que B me diga si hizo lo que le pedí o no? Debe definirse el metodo mover() así: public boolean mover(int pasos){ miPosicion += pasos; Return true; }
  • 11. Con el anterior metodo la conversacion siguiente finaliza con todos felices: A: mae movete cinco pasos porfa. B: ok. Si lo hice. A: ok! ^_^
  • 12. Y como me devolvería false? Te estarás preguntanto. Pues como está el metodo escrito, jamás devolverá false.
  • 14. • A un metodo se le puede dar el nombre que a uno se le antoje al momento de crearlo. Algunas veces tenemos atributos PRIVADOS en una clase y queremos que se puedan usar afuera de ella cuando se ocupen. No podemos invocarlo por el poder de greiscol así: objeto.atributo. Porque el atributo es PRIVADO! Para solucionar eso, creamos un metodo que devuelva el atributo.
  • 15. • Programadores sensatos usualmente nombran a estos metodos así: verboIndicandoObtencion + nombreAtributo Dado un atributo X en una clase cualquiera, un metodo para devolver ese valor podría llamarse: obtenerEquis(); Pero pudo haberse llamado de cualquier forma. Algunos programadores spanglishistas nombran esos metodos así: verbIndicatingGet + nombreAtributo • Nuestro metodo anterior se habría llamado: getEquis() • Si un programador spanglish lo hubiera hecho
  • 16. Puedo tener un get que se void? • Claro que puedes, deberas depues atenerte a las consecuencias de tener un metodo void, no poder usarlo en calculos y NO poder asignarselo a una variable.
  • 17. Si tengo un atributo privado que es un arreglo de String, como uso sus elementos afuera de la clase? • Paso 1. Planear el metodo. Segun el problema se necesita devolver los elementos individuales del arreglo NO el arreglo. Entonces algo como: Public String[] getArreglo(){ return this.arreglo; } Seria tan util como un control inalambrico sin baterias.
  • 18. Rapidamente podemos darnos cuenta de que para sacar un elmento del arreglo necesitamos informacion adicional. Un parámetro. Ese parámetro es el índice. Paso 2. Escribir el metodo. Public String getElementoEnPosicion(int indice){ return this.arreglo[indice]; } El nombre aqui es muy largo pero ilustra lo que se quiere hacer. En la vida real el perro de la derecha se burlaría despiadadamente de vos si le pones ese nombre.
  • 20. • Siguiendo con la situacion de tener un atributo privado X, si se necesita cambiar ese valor desde afuera no podemos hacer algo así: • objeto.atributoX = algo; • Porque el atributo es PRIVADO. • Para solucionar eso creamos un metodo que me permita cambiar ese valor desde adentro del objeto.
  • 21. • Programadores sensatos, usualmente nombran a estos metodos así: verboIndicandoModificacion + nombreAtributo • Asi que nuestro metodo para cambiar el valor de X se llamaría así: establecerEquis() • Y si es spanglish: setEquis() • Y si es ingles puro: setX();
  • 22. • Puedo tener un metodo Set que devuelva algo? • Por supuesto que sí. Puedes definir tus metodos como se te venga a la mente en el momento. Sin embargo, usualmente los metodos que cambian el valor de un atributo, sólo lo hacen y ya. Al hacer que devuelva algo, te arriesgas a que programadores inexpertos, hagan lo que el perro de la esquina.
  • 23. • Los metodos set generalmente necesitan de un parámetro para realizar su tarea. Considerese la siguiente conversacion: A: oye B, cambia el valor de tu atributo X. B: ok! ..un momento, pero, a qué valor? Que hago Dios mio! Ahhhhh!!! • En la situacion anterior se observa que el programador quiere cambiar el valor de X de B, pero no le dice el nuevo valor.
  • 24. • Paso 1. Pensar el metodo Se necesita un parametro, ese parametro será el nuevo valor para X. • Paso2. Escribir el metodo Public void setX(Tipo valor){ this.X = valor; }
  • 25. • En que caso puedo tener un establecer si parametros? • En caso de que el nuevo valor este cambiando en otro lado. Por ejemplo: Public void setX(){ this.X = Y + 8; } Si resulta que ‘Y’ siempre es igual el perro de la esquina se sentirá muy feliz.
  • 26. • Si yo se que esperabas al mismo perro otra vez :D