Clases en Java (3)

Clases en Java »
Christian Mora

PROGRAMACION ORIENTADA A OBJETOS. 

La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina. 

Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la jerarquía o el encapsulamiento.

El elemento básico de este paradigma no es la función (elemento básico de la programación estructurada), sino un ente denominado objeto.

Un objeto es la representación de un concepto para un programa, y contiene toda la información necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto.

OBJETO
La duración de un objeto en un programa siempre está limitada en el tiempo.
La mayoría de los objetos sólo existen durante una parte de la ejecución del programa.
Los objetos son creados mediante un mecanismo denominado instanciación, y cuando dejan de existir se dice que son destruidos.
Todo objeto posee un estado, definido por sus atributos. 
Con él se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.
Todo objeto ha de presentar una interfaz, definida por sus métodos, para que el resto de objetos que componen los programas puedan interactuar con él.
Un objeto es la instancia de una clase. 
Con un objeto se pueden ejecutar las tareas definidas en la clase.
Una clase es la definición de las tareas que se van a realizar. 
Incluye las variables necesarias y los métodos, tanto  públicos  como  privados.  
En  lenguajes  estructurados,  los  métodos  equivalen  a  las  funciones  y procedimientos, como en C o Pascal. 
CLASE
SUBCLASE
Una subclase es una clase que se deriva de otra.
Hereda de otra sus variables y métodos. 
TIEMPO DE VIDA:
ESTADO:
COMPORTAMIENTO:
CONSTRUCTOR
Constructor es el método que da valores iniciales al objeto al momento de hacerse la instancia. 
HERENCIA
Herencia es la capacidad de recibir todos los métodos y variables de una o más clases para realizar ciertas tareas.
Por  lo  general,  las  subclases  agregan  métodos  y  modifican  algunos  métodos  para  realizar  tareas diferentes.
ENCAPSULAMIENTO
Encapsulamiento es la característica de organizar datos y funciones en una estructura. 
Permite ocultar código para facilitar la programación y mantenimiento.
Las variables casi siempre son privadas.
Al dejar que un objeto ajeno modifique el valor de una variable puede conducir a un mal funcionamiento del objeto.
POLIFORMISMO
Polimorfismo es la capacidad de un objeto de asumir diferentes formas pero aun siendo compatible en tipo con el código existente. 
ABSTRACCIÓN
Mediante la abstracción la mente humana modeliza la realidad en forma de objetos. 
Para ello busca parecidos entre la realidad y la posible implementación de objetos del programa que simulen el funcionamiento de los objetos reales.
MODELADO DE OBJETOS
MODULARIDAD
Se propone al programador dividir su aplicación en varios módulos diferentes.
Esta fragmentación disminuye el grado de dificultad del problema.
JERARQUÍA
La mayoría de nosotros ve de manera natural nuestro mundo como objetos que se relacionan entre sí de una manera jerárquica.
PASO DE MENSAJES
Mediante el denominado paso de mensajes, un objeto puede solicitar de otro objeto que realice una acción determinada o que modifique su estado. 
El paso de mensajes se suele implementar como llamadas a los métodos de otros objetos.
METODOS
Un bloque de código que tiene un nombre,
Recibe unos parámetros o argumentos (opcionalmente),
Contiene sentencias o instrucciones para realizar algo (opcionalmente) 
Devuelve un valor de algún Tipo conocido (opcionalmente).
ATRIBUTOS
Los atributos, también llamados datos o variables miembro son porciones de información que un objeto posee o conoce de sí mismo. 
Una clase puede tener cualquier número de atributos o no tener ninguno.
Se declaran con un identificador y el tipo  de dato correspondiente. 
Además los atributos y tienen asociado un modificador que define su visibilidad
MODIFICADORES
PAQUETES
Control de Acceso
Programación Orientada a Objetos
Christian Mora
christmo99@gmail.com
VARIABLES DE INSTANCIA
Las variables de instancia pueden declararse como public o como private.
Pueden pertenecer a cualquiera de los tipos de datos primitivos de Java o bien, a otra clase existente en Java o declarada por el usuario.
En principio, la única limitación para el número de variables de instancia que puede declarar una clase es el espacio libre disponible en la memoria del  sistema que ejecute el programa.
VARIABLES DE CLASE (STATIC)
Implican una sola zona de memoria reservada para todas las instancias de la clase, y no una copia por objeto, como sucede con las variables de instancia.
Las variables de clase se distinguen con el modificador static en la declaración del atributo correspondiente. 
Por defecto (si no se indica la palabra static), el atributo declarado se considera variable de instancia.
Las variables de clase sirven para almacenar características comunes (constantes) a todos los objetos o para almacenar características que dependen de todos los objetos.
 CONSTANTES O VARIABLES FINALES (final)
Una clase puede contener atributos de valor constante o variables finales. Este tipo de atributo se indica con la palabra reservada final. Las variables finales se suelen declarar además como variables de clase (static final) por razones de ahorro de memoria ya que, al no modificar su valor sólo suele ser necesaria una copia en memoria por clase (y no una por instancia).

La palabra reservada final indica que el atributo debe comportarse como una constante, es decir, no puede ser modificada una vez declarada e inicializada.
Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes.
VENTAJAS
Agrupamiento de clases con características comunes.
Reutilización de código.
Mayor seguridad al existir niveles de acceso.
java.lang
OBJECT
TIPOS DE DATOS ENCUBIERTOS 
STRINGS
SYSTEM Y RUNTIME
THEARD
CLASS
MATH
PROCESS
PAQUETE
DESCRIPCION
java.applet

java.awt

java.io

java.lang

java.net

java.util

java.swing
Contiene clases para la creación de applets.

Contiene clases para crear interfaces de usuario con ventanas

Contiene clases para manejar la entrada/salida.

Contiene clases variadas pero imprescindibles para el lenguaje, como Object, Thread, Math

Contiene clases para soportar aplicaciones que acceden a redes TCP/IP.

Contiene clases que permiten el acceso a recursos del sistema, etc.

Contiene clases para crear interfaces de usuario mejorando la AWT.
Clase Math
La clase Math representa la librería matemática de Java. 
Las funciones que contiene son las de todos los lenguajes.
Organizadas en una clase solamente a propósito de agrupación por eso se encapsulan en Math
El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla
Funciones

Math.abs( x )           para int, long, float y double 
Math.sin( double ) 
Math.cos( double ) 
Math.tan( double ) 
Math.asin( double ) 
Math.acos( double ) 
Math.atan( double ) 
Math.atan2( double,double ) 
Math.exp( double ) 
Math.log( double ) 
Math.sqrt( double ) 
Math.ceil( double ) 
Math.floor( double ) 
Math.rint( double ) 
Math.pow( a,b ) 
Math.round( x )        para double y float 
Math.random()          devuelve un double 
Math.max( a,b )        para int, long, float y double 
Math.min( a,b )        para int, long, float y double 
Math.E                 para la base exponencial 
Math.PI 

Loading comments...

Please log in to add your comment.

Report abuse

More presentations by Christian Mora

More prezis by author