Conceptos POO PV

547 visualizaciones

Publicado el

Conceptos basicos y principales de la programacion orientada a objetos

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
547
En SlideShare
0
De insertados
0
Número de insertados
94
Acciones
Compartido
0
Descargas
18
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Conceptos POO PV

  1. 1. PROGRAMACION VISUAL Integrantes: David Alfonso Clara Mateos 12230387 Israel Rescalvo Anastacio 12230433 Carrera: Ing. Electrónica Grupo: 1 4° Semestre Docente: Jiménez rasgado Guillermina
  2. 2. Objeto Se puede decir que un objeto es todo aquello que pueda ser identificable dentro de una especificación de requerimientos o problema y tenga las siguiente características:  Tenga estados definibles (abierto, cerrado).  Posea comportamientos asociados (puede correr, saltar, volar, etc). Éstos son denominados métodos.  Son capaces de interactuar/comunicarse con otros objetos por medio de sus métodos
  3. 3. Ejemplo: Tenemos un automóvil, cuyos atributos son : Carrocería color verde, espacio para 4 pasajeros, cuatro puertas, cierta capacidad de carga, 5 velocidades, transmisión automática, velocidad máxima 200km por hora. Sus encapsulados serian el chasis, las llantas el motor Sus funciones son; aceleración, arranque, frenada, alarma, turbocompresor, etc.
  4. 4. Clases Una clase es un marco que permite crear objetos semejantes; es decir con las mismas características. Una clase representa un grupo de objetos que comparten una misma estructura y un mismo comportamiento; es decir, una clase representa un grupo de objetos con los mismos atributos y los mismos métodos.
  5. 5. Ejemplo: Clase: • Felinos Atributos: • Garras retractiles • 4 patas • Cabeza redonda • Sigilosos • Comen carne Funcionalidades: • Correr • Dormir • Saltar • Comer
  6. 6. Abstracción Podemos definir la abstracción como una operación intelectual que separa las cualidades de un objeto para considerarlas aisladamente o para analizar al objeto en su pura esencia o noción. Básicamente es la capacidad de separar los elementos (al menos mentalmente) para poder verlos de forma singular. Como cuando describimos el cuerpo humano y decimos cabeza, brazo(s), pierna(s), etc. En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación y el mecanismo por el cual se gestionan las abstracciones.
  7. 7. Ejemplo: Gracias a la abstracción, el objeto Tren puede manipular objetos Persona sin tener en cuenta sus propiedades ni métodos ya que sólo le interesa, por ejemplo, calcular la cantidad de personas que están viajando en él en ese momento, sin tener en cuenta ninguna otra información relacionada con dichas personas, tales como la altura, el nombre, el color de ojos, etcétera.
  8. 8. Cohesión Cohesión es “Es la medida de cuanto una entidad (componente o clase) se encuentra especializada en propósito único dentro de un sistema”. Ejemplo:
  9. 9. Encapsulación La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.
  10. 10. Ejemplo: • System.out.println("Velocidad: " + vehiculo.velocidad );//Mostrar velocidad • vehiculo.velocidad = 10;//Asignar velocidad • Pero supongamos que nosotros no queremos que se pueda acceder de esta manera (por ejemplo, en el contexto que tengamos una clase Cliente, perteneciente a un banco, nosotros no queremos que se pueda cambiar el valor del saldo del cliente desde afuera de la clase), por lo tanto, tendríamos que hacer una encapsulación de nuestra variable (en este caso, la variable velocidad), para esto, en la declaración de nuestra variable, debemos anteponer la palabra reservada private antes del tipo de nuestra variable, con esto, le estamos diciendo que nuestra variable solo puede ser vista desde dentro de nuestra clase (es decir, solo podremos acceder a ella desde las funciones internas de nuestra clase). Aquí un ejemplo de como convertir nuestra varible velocidad en privada: private int velocidad;
  11. 11. Herencia Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Es la relación entre una clase general y otra clase mas especifica. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, Nos permite compartir automáticamente métodos y datos entre clases subclases y objetos.
  12. 12. Ejemplo: El gato y el Perro tendrían la herencia (métodos y atributos) del Mamífero. Mamífero Gato Perro
  13. 13. Clases abstractas Tipo de Clases nos permiten crear “método generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de código tienen por particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni código dentro de ellos y deben estar precedidos por la palabra clave abstract. Si una clases contiene uno o más métodos abstractos está clase debe ser abstracta. Estas clases como son generalidades no pueden ser instanciadas por ningún objeto (se dice que su nivel de abstracción es demasiado alto), entonces su único fin es ser heredado/extendido por otras clases.
  14. 14. Ejemplo En este poco original ejemplo se puede apreciar que toda figura tiene un método para calcular su Área y Volumen. 1 2 3 4 5 6 7 8 9 1 0 1 1 public abstract class Figura { // Atributos: public int numeroLados; public int area; public int volumen; // Métodos: abstract public void calcularArea(); abstract public void calcularVolumen(); } - Las clases que hereden de la clase Abstracta deben implementar todos los métodos abstractos. - Se debe tener presente que las clases abstractas sí pueden heredar de otras clases. - La firma o parámetros de los métodos así como el tipo de dato deben respetarse, de lo contrario se está hablando de otro método totalmente diferente.
  15. 15. Interfaces Las interfaces, tal como las clases abstractas. no se pueden instanciar. Sus métodos deben ser re-escritos por la clase que implemente. Permiten separar claramente la funcionalidad de la implementación „ Operaciones con sus parámetros y valores de retorno „ Los clientes interactúan independientemente de la implementación „ Pero pueden elegir implementaciones alternativas
  16. 16. Ejemplo: Obtiene la fecha del sistema mediante DateTime.Now •Obliga a implementar los métodos que contiene en las clases derivadas de ella. •Se deben implementar todos sus métodos, de lo contrario nos indica un error
  17. 17. Polimorfismo • Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación.
  18. 18. Hay dos tipos: Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos. Estático: es el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de ser utilizados. • Ejemplo todos los animales comen algo, pero algunos comen carne, otros hierbitas, otros se comen entre si, etc. class animal { metodo comer() } class carnivoro => es un animal { redefine metodo comer() { come carne } } class herbivoro => es un animal { redefine metodo comer() { come hierba } } class omnivoro => es un animal { redefine metodo comer() { como de todo } } animal leon, tortuga leon = new carnivoro tortuga = new herbivoro leon.comer toruga.comer
  19. 19. Acoplamiento El acoplamiento es el grado en el cual una clase conoce a las demás. Si solo la clase A conoce a la clase B, es que B se ha expuesto a través de su interface, entonces la clase A y la clase B, se las denomina ligeramente acopladas... eso es algo bueno. Si, por otra parte A se basa en partes de B que no es parte de la interfaz de B, entonces el acoplamiento es mas fuerte... y eso no es bueno. En otras palabras si A conoce mas que lo que debería de B en la manera en que fue implementado, entonces A y B están fuertemente acoplados.
  20. 20. Ejemplo: De un acoplamiento ajustado, que ha sido ejecutado mediante una pobre encapsulación: 1class DoTaxes { 2 float rate; 3 float doColorado() { 4 SalesTaxRates str = new SalesTaxRates(); 5 rate = str.salesRate; // ouch 6 // esto deberia haber sido llamado 7 // mediante un metodo: 8 // rate = str.getSalesRate("CO"); 9 // hacer algo con rate 10 } 11} 12 13class SalesTaxRates { 14 public float salesRate; // deberia ser private 15 public float adjustedSalesRate; // deberia ser private 16 public float getSalesRate(String region) { 17 salesRate = new DoTaxes().doColorado(); // ouch otra vez! 18 // hacer calculos por aqui 19 return adjustedSalesRate; 20 } 21}
  21. 21. Asociación de objetos • Asociación Es la relación entre dos clases. Permite que en una instancia que un objeto permita a otro llevar a cabo una acción en su nombre. con asociación vemos como están relacionados los objetos. La asociación es una relación de pertenencia. Ej: un empleado pertenece a una empresa. Las relaciones pueden ser: • una a una • una a muchas • muchas a muchas
  22. 22. public class Customer { private int id; private String firstName; private String lastName; private CreditCard creditCard; public Customer() { //Lo que sea que el construtor haga } public void setCreditCard(CreditCard creditCard) { this.creditCard = creditCard; } } • En la asociación: • Customer es independiente de CreditCard, puesto que el cliente puede existir sin necesidad de tener asignada una tarjeta de crédito. Démosle tiempo para que la tramite, ¡Pero no lo dejemos ir! • Se puede asignar o retirar la tarjeta de crédito, sin que la existencia del Cliente se vea afectada (No debería verse afectada, esto significa que Customer no debe tronar si no hay un CreditCard presente).

×