lunes, 18 de febrero de 2019

Programación Orientada a Objetos

Resultado de imagen para Pilares de POOPilares de la POO
1.Abstracción:
Es el pilar de la POO,que permite identificar las características comportamientos de un objeto con los cuales se construirá la clase (planilla).Esto quiere decir que a través de este pilar o fundamento es posible reconocer los atributos y metidos de un objeto.
2.Encapsulamiento:
Es la característica de POO que permite el ocultamiento de la complejidad del código, pertenece a la parte privada de la clase y que no puede ser vista desde ningún otro programa.
3.Herencia:
Es el pilar mas fuerte que asegura la reutilizacion de código,ya que a partir de esta característica es posible reutilizar(heredar) las características y comportamientos de una clase superior llamada clase padre,a sus clases hijas.Esto implica que una vez desarrollado el código de una clase base,su código puede ser reutilizado por las clases derivadas.
4.Polimorfismo:
Consiste en la posibilidad de definir en una jerarquía de clases métodos y/o atributos denominados de forma idéntica,pero que se comportan de manera distinta.

¿Que es una clase?
Es la descripción de un conjunto de objetos; consta de métodos y atributos (datos) que resumen características comunes de un conjunto de objetos.
Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programando una clase.
Componentes de una clase:
Propiedades o atributos
Son las características de los objetos.Cuando definimos un atributo normalmente especificamos nombre y su tipo.
Los atributos son algo así como variables donde almacenamos datos relacionados con los objetos.
Métodos
Son las funcionalidades asociadas a los objetos, es decir,describen el comportamiento asociado a un objeto.
Las funcionalidades(métodos) residen en el objeto y determina como actuara este cuando reciba un mensaje.

Parámetro y Argumentos:
Parámetro,es una variable que ese utiliza para recibir un valor que se envía desde otro modulo.
Argumento, se refiere al valor que se envía desde el modulo que hace el llamado.

Métodos con retorno y sin retorno:
Un método vuelve al código del que se llamo en el momento en el que alguna de etas circunstancias se de
-se completan todas las sentencias del método
-llega a una sentencia retorno o
-lanza una excepción.
Métodos con retorno
Este método nos devuelven algo por ejemplo un return. La sentencia return implica que termina la ejecución del código en el método y estará tipicamente en la linea final
Métodos sin retorno
Son métodos que realizan ciertas operación sin devolver un valor u objeto concreto un ejemplo de ello es la palabra void.

Métodos de acceso(Setter y Getter)
Son métodos de acceso los que indica que son siempre declarados públicos,y nos sirven para dos cosas
Setter: Del ingles Set,que significa establecer,nos sirve para asignar un valor inicial a un atributo,pero de forma explicita,ademas el Setter nunca retorna nada(Siempre es void), y solo nos permite dar acceso publico a ciertos atributos que deseemos el usuario pueda modificar.
Getters: Del ingles Get,que significa obtener,pues nos sirve para obtener(recuperar o acceder) el valor ya asignado a un atributo y utilizarlo para cierto método

Resultado de imagen para tipos de metodos javaTipos de Métodos:
Los métodos de instancia operan sobre las variables de instancia de los objetos pero también tienen acceso a las variables de clases.La sintaxis de llamada a un método de instancia es:
idReferencia.idMetodo(parametros); // Llamada tipica a un metodo de instancia
Los métodos de clase no operan sobre variables de instancia de lo objetos.Los métodos de clase pueden trabajar con las variables de clases pero no pueden acceder a las variables de instancia declaradas dentro de la clase,a no ser que se crea una nueva instancia.

Constructor en POO:
Un constructor es una sub-rutina cuya misión es inicializar un objeto de una clase.En el constructor se asigna los valores iniciales del nuevo objeto.
Es decir, el constructor nos va a permitir crear una instancia de una clase(un objeto).Un constructor es un metodos especial su sintaxis es
modificadorDeAcceso NombreDeLaClase(OpcionalmenteParámetros){
    sentencias;
}


Sobre carga de métodos:
La sobre carga de métodos se apoya de métodos y constructores,los destructores no se pueden sobre cargar ya que solo debe haber uno por clase
La sobrecarga de métodos hace que un mismo nombre pueda representar distintos métodos con distinto tipo y numero de parámetros,manejados dentro de la misma clase.En el ámbito dela POO,la sobre carga de métodos se refiere a la posibilidad de tener dos o mas métodos con el mismo nombre pero distinta funcionalidad.Se pueden diferenciar varios métodos sobrecargados a través de sus parámetros,ya sea pro la cantidad,el tipo o el orden de los mismos.

Resultado de imagen para modificadores de acceso en javaModificador de acceso:
Private
Es el modificador mas restrictivo y especifica que los elementos que los utilizan solo pueden ser accedidos desde la misma clase en la que se encuentran.
Public
Este nivel de acceso permite acceder al elemento desde cualquier clase,independientemente de que este pertenezca o no al paquete en que se encuentra el elemento.
Protected
Indica que los elementos solo pueden ser accedidos desde su mismo paquete y desde cualquier clase que extienda la clase en que se encuentra,independientemente de si esta se entra en el mismo paquete o no.
Sin especificar
Cuando no especificamos ningún modificador de acceso se aplica el "por defecto",este tiene la misma función que el anterior sin que entren en juego las subclases.Solo permite el acceso a ese código desde dentro del mismo paquete.(También se le conoce como package private).

Métodos Abstractos:
Un método abstracto es uno que,mas que proveer un servicio representa un servicio o categoría. La idea es que al difundir una clase base abstracta se indica un conjunto de métodos que deberían estar definidos en todas las clases que heredan dela clase base abstracta.Es una declaración que indica la necesidad de definir su funcionalidad es las clases descendientes,pero que no se definen en la clase base.
Resultado de imagen para metodo abstracto

Clases abstractas:
Una clase abstracta es una clase que no se puede instanciar se usa únicamente para definir subclases
¿Cuando es una clase abstracta? en cuanto uno de sus métodos no tiene implementacion(en Java,el método abstracto se etiqueta con la palabra reservada abstract).
¿Cuando se utilizan clases abstractas?
Cuando deseamos definir una abstracción que englobe objetos de distintos tipos y queremos hacer uso del polimorfismo

Resultado de imagen para clases abstractas java


Interfaces:
En Java,las interfaces se declaran con la palabra reservada interface de manera similar a como se declaran las clases abstractas.
En la declaración de una interfaz,lo único que puede aparecer son declaraciones de métodos(su nombre y asignatura,sin su implementacion) y definimos de constantes simbólicas.
Una interfaz no encapsula datos,solo define cuales son los metidos que han de implementar los objetos de aquellos clases que implementen la interfaz.

Resultado de imagen para interface java

Array:
Un array es un medio de guardar un conjunto de objetos de la misma clase.Se accede a cada elemento individual del array mediante un numero entero denominado indice.0 es el indice del primer elemento y n-1 es el indice del ultimo elemento,siendo n,la dimensión del array. Los arrays son objetos en Java y como tales  vamos a ver los pasos a seguir para usarlos convenientemente:

  • Declarar el array
  • Crear el array
  • Inicializar los elementos del array
  • Usar el array
Resultado de imagen para array java

Colecciones:
Una colección representa un grupo de objetos.Estos objetos son conocidos como elementos.
Cuando queremos  trabajar con un conjunto de elementos,necesitamos un almacén donde poder guardarlos.En Java, se emplea la interfaz genérica Collection para este propósito. Gracias a esta interfaz,podemos almacenar cualquier tipo de objeto y podemos usar una serie de métodos comunes,como pueden ser añadir,eliminar,obtener el tamaño de la colección etc. Partiendo de la interfaz genérica Collection extienden otra series de interfaces genéricas.
Set
La interfaz Set define una colección que no puede contener elementos duplicados.Esta interfaz contiene,únicamente,los métodos heredados de Collection añadiendo la restricción de que los elementos duplicados están prohibidos.
List
La interfaz List define una sucesion de elementos. A diferencia de la interfaz Set,la interfaz List si admite elementos duplicados.A parte de los métodos heredados de Collection,añade métodos que permiten mejorar los siguientes puntos:
  • Acceso posicional a elementos
  • Búsqueda de elementos
  • Rango de operaciones 
 Map
La interfaz Map asocia claves a valores.Esta interfaz no puede contener claves duplicadas y cada una de dichas claves,solo puede tener asociado un valor como máximo.
Dentro de la interfaz Map existen varios tipos de implementaciones realizadas dentro de la plataforma Java.
HashMap:
esta implementacion almacena las claves en una tabla hash. Es la implementacion con mejor rendimiento de todas pero garantiza ningún orden a la hora de realizar interacciones
TreeMap:
esta implementacion almacena las claves ordenándola en función de sus valores.Es bastante mas lento que HashMap.
LinkedHashMap:
esta implementacion almacena las claves en función del orden de inserción. Es,simplemente,un poco mas costosa que HashMap.

Resultado de imagen para colecciones java

















No hay comentarios.:

Publicar un comentario

Servicios Web

Servicios Web: W3C: lo define como un sistema de software, diseñado para soportar la interacción entre dos o mas maquinas a través de una...