PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores.

Slides:



Advertisements
Presentaciones similares
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Advertisements

Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento.
Diagrama de Clases SPI 2016.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Clases y Objetos en Java
Clases y Objetos.
Introducción a la programación en JAVA
Programación Orientada a Objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y Objetos.
Clases en C++ Agustín J. González ELO329.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Tema 5: Objetos y Clases Introducción Objetos Clases predefinidas
Programación Orientada a Objetos
Figura Rectangulo Elipse Cuadrado Circulo area (): double
Clases en C++ Agustín J. González ELO329.
Fundamentos de la programación orientada a objetos
Algunas Características de C++ no presentes en C
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
AYUDANTÍA 6 Más sobre... ¿Faiton?.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Algunas Características de C++ no presentes en C
Clases y Objetos en Java
Tema 2. Principios del Diseño Orientado a Objetos
Clases en C++ Agustín J. González ELO329.
Introducción a programación web Martin Esses
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Tema 4 Elementos para el Desarrollo de Algoritmos
Programación orientada a objetos
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Algunas Características de C++ no presentes en C
Clases y Objetos en Java
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
Herencia Agustín J. González ELO329.
Herencia en C#.
Clases en C++ Agustín J. González ELO329.
ESTRUCTURA DE UN PROGRAMA SIMPLE EN JAVA
Programación Orientada a Objetos
Ingeniero en Computación José Alfredo Cobián Campos
Conceptos de Objetos, Clases y Otros Modelo Conceptual
Java – programación orientada a objetos programación ii – iee
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
M.C Alejandro Castellanos Lopez
Herencia en C++ Agustín J. González ELO329.
Clases en C++ Agustín J. González ELO329.
Clases en Java 1 Métodos de Programación II Profesor: M.C. Alfonso Miguel Uriarte Gálvez.
Herencia en C++ Agustín J. González ELO329.
Curso de Programación Estructurada
Tema 5: Matrices Antonio J. Sierra.
Algunas Características de C++ no presentes en C
Clases en C++ Agustín J. González ELO329.
Paquetes y Documentación en Java
Herencia en C++ Agustín J. González ELO329.
Herencia en C++ Agustín J. González ELO329.
Herencia en C++ Agustín J. González ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Prof. Marcos Heredia.  Primitivos y No Primitivos.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Tema 5 H erencia. La herencia es una forma de reutilización de software en la que las clases se crean incorporando los datos (atributos) y el comportamiento.
Herencia Agustín J. González ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Herencia en C++ Agustín J. González ELO329.
Clases abstractas e interfaces
Clases y Objetos en Java
FUNDAMENTOS DE LA PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores

Encapsulamiento de Clases  Las clases en Java se agrupan por familias que se denominan paquetes (packages).  Todas las clases pertenecen a un paquete. Ej. La clase String pertenece al paquete java.lang y se dice que su nombre completo es:  java.lang.String  A la hora de referirnos a una clase, podemos poner el nombre completo ej:  java.lang.String nombreAlumno= “Luis Morales";  Java permite referirnos directamente a las clases del paquete java.lang:  String nombreAlumno= “Luis Morales";

Encapsulamiento de Clases A qué paquete pertenecerán nuestras clases ????  Debemos explicitarlo: package nombrePaquete; class xxx {... }  Si no escribimos package, java asigna la clase a un paquete anónimo por defecto.  Ventajas de los Paquetes en Java:  Permite mantener nuestras clases ordenadas según su función.  Ayuda a evitar la colisión de nombres, dos clases pueden tener el mismo nombre si se encuentran en paquetes distintos. Ej: package zoo; class Animal{... } package veterinaria; class Animal{... }

Encapsulamiento de Clases  Los paquetes son los elementos que se asocian a las llamadas “librerías”.  Cuando se trabaja en c o c++, y se requería librerías ya implementadas, se recurría a los “#include.  Java nos proporciona la palabra reservada import para obtener los paquetes (package) donde se encuentran los elementos que necesitamos.  Existen dos formas de utilizar la palabra reservada import:  import java.util.*; Lo que nos trae todas la clases definidas dentro del paquete o, import java.util.Random; Lo que nos trae la clase Random definida dentro del paquete.

Modificadores de acceso: miembros  Se pueden establecer distintos niveles de encapsulación u ocultamiento para los miembros de una clase (atributos y métodos). Paquetes (package): mecanismo para agrupar clases que tienen algo en común.

Encapsulación: Métodos getters y setters  Los atributos privados de una clase solo deben ser modificados por métodos de la clase.  La Clase debe proveer métodos públicos para:  Establecer valores (set)  Clase Cuenta (método set en Java)  setSaldo  Obtener el valor de un atributos (get)  Clase Cuenta (método get en Java)  getSaldo  Convención de lenguaje  En Java el método "set" es comúnmente llamado mutador y el método "get“ de consulta

Modificadores de acceso:miembros  Los distintos modificadores de acceso quedan resumidos en la siguiente tabla: La misma clase Otra clase del mismo paquete Subclase Otra clase de otro paquete publicXXXX protectedXXX defaultXX privateX

Modificadores de acceso: miembros  Como permitir el acceso a un miembro para todos los demás objetos?  Como se accede a los miembros (atributos y métodos ) de un objeto?  En JAVA a través del uso de operador “.”  Objeto.atributo  Objeto.metodo

Modificadores de acceso: Clases Modificadores de acceso para clases  public - Todo el mundo puede usar la clase. Se pueden crear instancias de esa clase, siempre y cuando alguno de sus constructores sea accesible.  sin modificador - La clase puede ser usada e instanciada por clases dentro del package donde se define.  Las clases no pueden declararse ni protected, ni private.

Constructores  Antes de usar un objeto primero debemos crearlo  El operado new nos permite crear objetos en JAVA

Constructores  Uso del operador new  Tipo identificador = new Tipo();

Constructores  El operador new  Invoca al método “constructor” de la clase  Solicita al sistema la memoria necesaria para representar el objeto  Inicializa el estado del objeto  Cuenta c = new Cuenta();  Llama al método constructor de la clase Cuenta  Crea una instancia de la clase Cuenta  En Java si no se define un método constructor, se crea uno por defecto  Constructor sin parámetros Cuenta(){ }

Constructores  Para qué definir métodos constructores? – Para especificar la forma de inicialización de un objeto  Estructura de un método constructor – El constructor por lo general es de acceso público pues de no ser así no se podrán crear instancias de la clase desde otros objetos. public ( ) { … }

Constructores  Características  Tiene el mismo nombre de la clase  No devuelve ningún tipo de dato, ni siquiera void  Se lo invoca únicamente con el operador new

Constructores Constructor sin parámetro Constructor con parámetros