Sei sulla pagina 1di 12

Conceptos de POO

1. Que es una clase:


Clase. Es una construcción que permite crear tipos personalizados propios
mediante la agrupación de variables de otros tipos, métodos y eventos. Una clase
es como un plano. Define los datos y el comportamiento de un tipo. Si la clase no
se declara como estática, el código de cliente puede utilizarla mediante la
creación de objetos o instancias que se asignan a una variable. La variable
permanece en memoria hasta todas las referencias a ella están fuera del ámbito.
Si la clase se declara como estática, solo existe una copia en memoria y el código
de cliente solo puede tener acceso a ella a través de la propia clase y no de una
variable de instancia.
Class. Public: Son muy comunes, accesibles desde cualquier otra clase en la
misma librería (de otro modo hay que importarlas).
•Class. Abstract: Aquellas que tienen por lo menos un método abstracto. No
implementan sus métodos, sino que dan las bases para que sean implementados
en la herencia.
•Class. Final: Son las que terminan la cadena de herencia. Útiles por motivos de
seguridad y eficiencia de un programa, ya que no permiten crear más sub-
divisiones por debajo de esta clase.
•Class. Synchronizable: Especifica que sus métodos son sincronizados, evitando
problemas con los thread (hilo de ejecución), de forma que estos no pueden
empezar a correr un método si no ha acabado el otro.

Caracteristicas de las propiedades de una clase.


Nombre de la clase. Sirve para identificar a todos los objetos que tengan unas
determinadas características.
•Conjunto de atributos. Datos miembros. El valor de los atributos representan el
estado de cada objeto.
•Conjunto de métodos. Funciones miembro. Permite que los objetos cambien de
estado, dependiendo del estado anterior que tuviera el objeto.
•Niveles de acceso para proteger ciertos miembros de la clase. Normalmente, se
definirán como ocultos (privados) los atributos y visibles (públicos) los métodos.

Que es un metodo en una clase


Un es un conjunto de instrucciones definidas dentro de una clase, que realizan
una determinada tarea y a las que podemos invocar mediante un nombre.

Algunos métodos que hemos utilizado hasta ahora:


– Math.pow()
– Math.sqrt()
– Character.isDigit()
- System.out.println();

Cuando se llama a un método, la ejecución del programa pasa al método y


cuando éste acaba, la ejecución continúa a partir del punto donde se produjo la
llamada.

Utilizando métodos:
- Podemos construir programas modulares.
- Se consigue la reutilización de código. En lugar de escribir el mismo código
repetido cuando se necesite, por ejemplo para validar una fecha, se hace una
llamada al método que lo realiza.
En Java un método siempre pertenece a una clase.
Todo programa java tiene un método llamado main. Este método es el punto de
entrada al programa y también el punto de salida.
Que es un Objeto en POO.
objeto:En el paradigma de programación orientada a objetos (POO, o OOP en
inglés), un objeto es la unidad individual que en tiempo de ejecución realiza las
tareas de un programa. Estos objetos interactúan unos con otros, en
contraposición a la visión tradicional en la cual un programa es una colección de
subrutinas (funciones o procedimientos), o simplemente una lista de
instrucciones para el computador. Cada objeto es capaz de recibir mensajes,
procesar datos y enviar mensajes a otros objetos de manera similar a un servicio.
En el mundo de la programación orientada a objetos (POO), un objeto es el
resultado de la instanciación de una clase. Una clase es el anteproyecto que
ofrece la funcionalidad en ella definida, pero ésta queda implementada sólo al
crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un
plano para construir sillas (una clase de nombre clase_silla), entonces una silla
concreta, en la que podemos sentarnos, construida a partir de este plano, sería
un objeto de clase_silla. Es posible crear (construir) múltiples objetos (sillas)
utilizando la definición de la clase (plano) anterior. Los conceptos de clase y
objetos son análogos a los de tipo de datos y variable, es decir, definida una clase
podemos crear objetos de esa clase, igual que disponiendo de un determinado
tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo.
Que son los estados de un objeto.
El estado de un objeto abarca todas las propiedades del objeto, y los valores
actuales de cada una de esas propiedades. Las propiedades de los objetos suelen
ser estáticas, mientras los valores que toman estas propiedades cambian con el
tiempo.
•El hecho de que los objetos tengan estado implica que ocupan un espacio,
ya en el mundo físico , ya en la memoria del ordenador.
•El estado de un objeto está influido por la historia del objeto.
•No deben confundirse los objetos, que existen en el tiempo, son mutables,
tienen estado, pueden ser creados, destruidos y compartidos..., con los
valores (los asignados a una variable, por ejemplo) que son cantidades con
las propiedades de ser atemporales, inmutables.
•El estado de un objeto representa el efecto acumulado de su
comportamiento.

Que se detalla en un mensaje de un objeto


Cuando los objetos quieren interactuar entre ellos utilizan mensajes. Un mensaje
es la manera que existe de acceder a los atributos y métodos de un objeto. La
forma de un mensaje, en la mayoría de lenguajes, sigue la siguiente sintaxis:

Hacer un ejemplo de una clase en Java.

package Suma;

/**
*
* @author Angelica
*/
public class Suma {
private int numero1;
private int numero2;

public Suma(int numero1, int numero2) {


this.numero1 = numero1;
this.numero2 = numero2;
}

/**
* @return the numero1
*/
public int getNumero1() {
return numero1;
}

/**
* @param numero1 the numero1 to set
*/
public void setNumero1(int numero1) {
this.numero1 = numero1;
}

/**
* @return the numero2
*/
public int getNumero2() {
return numero2;
}
/**
* @param numero2 the numero2 to set
*/
public void setNumero2(int numero2) {
this.numero2 = numero2;
}
}
Que es herencia.
La herencia se realiza a través de una derivación, lo que significa que una clase se
declara utilizando una clase base de la cual hereda los datos y el comportamiento.
Una clase base se especifica anexando dos puntos y el nombre de la clase base.
Cuando una clase declara una clase base, hereda todos los miembros de la clase
base excepto los constructores. A diferencia de C++, una clase en C# solo puede
heredar directamente de una clase base. Sin embargo, dado que una clase base
puede heredar de otra clase, una clase puede heredar indirectamente de varias
clases base. Además, una clase puede implementar directamente más de una
interfaz. Una clase se puede declarar como abstracta. Una clase abstracta
contiene métodos abstractos que incluyen una definición de firma pero ninguna
implementación. No se pueden crear instancias de las clases abstractas. Solo se
pueden utilizar a través de clases derivadas que implementan los métodos
abstractos. Por el contrario, una clase sellada no permite que otras clases deriven
de ella.
Que es Abstracion:
Una abstracción puede definirse como:
las características especificas de un objeto, aquellas que lo distinguen de
los demás tipos de objetos y que logran definir límites conceptuales
respecto a quien está haciendo dicha abstracción del objeto.
Abstracción de Entidades: Es un objeto que representa un modelo útil de una
entidad que se desea.
Abstracción de Acciones: Un objeto que representa un conjunto de operaciones y
todas ellas desempeñan funciones del mismo tipo.

Abstracción de Máquinas virtuales: Un objeto que agrupa operaciones, todas


ellas virtuales, utilizadas por algún nivel superior de control u operaciones (entre
ellos podríamos hablar de un circuito).

Abstracción de coincidencia: Un objeto que almacena un conjunto de


operaciones que no tienen relación entre sí.

Tipos de relaciones entre clases

Asociación
Es una relación estructural que describe una conexión entre objetos. Suelen ser
bidireccionales pero es importante a veces hacerlas unidireccionales para
restringir su navegación en un solo sentido.
Figura 1. Tipos de asociaciones
Multiplicidad de asociaciónes
Determina cuantos objetos de cada tipo intervienen en la relación, en otras
palabras es el número de instancias de una clase que se relacionan con una
instancia de otra clase. Cada asociación tiene dos multiplicidades, una para cada
extremo de la relación.
Tipos de multiciplidad
•Reflexiva: 1 Uno y solo uno
•Binaria: 0..1 Cero o uno
•N-aria: N..M Desde N hasta M
•N-aria: * Cero o varios
•N-aria: 0..* Cero o varios
•N-aria: 1..* Uno o varios (al menos uno)
Figura 2. Ejemplo
Agregación y composición
Son casos particulares de asociación cuya relación esta entre un todo y sus partes,
gráficamente es como una asociación con un rombo en los extremos.

Figura 3. Descripción de agregación y composición.


Dependencia
Relación más débil que una asociación que muestra la relación entre un cliente y
el proveedor de un servicio usado por el cliente. Cliente es el objeto que solicita
un servicio y servidor es el objeto que provee un servicio. Gráficamente la
dependencia se muestra como una línea discontinua con una punta de flecha que
apunta del cliente al proveedor.

Figura 4. Ejemplo de dependencia.


Generalización
Permite gestionar la complejidad mediante un ordenamiento taxonómico de
clases, se obtiene usando los mecanismos de abstracción de Generalización y/o
Especialización. La Generalización consiste en factorizar las propiedades comunes
de un conjunto de clases en una clase más general. Los nombres usados: clase
padre – clase hija. Otros nombres: superclase – subclase, clase base – clase
derivada. Las subclases heredan propiedades de sus clases padre, es decir,
atributos y operaciones (y asociaciones) de la clase padre están disponibles en sus
clases hijas.
Figura 5. Ejemplo de generalización
Ejemplo de diagramas de clases
Ejemplo de diagrama de clases simple de un sistema de vuelo.

Figura 6. Ejemplo de diagrama de clases simple.

Potrebbero piacerti anche