Está en la página 1de 52

PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCIÓN
En primer lugar, los objetos que construiremos se compondrán en partes
de fragmentos de programas estructurados, de esta manera era necesario
sentar primero las bases de la programación estructurada con estructuras
de control.
En segundo lugar, estudiamos los métodos de fondo.
Tercero queríamos familiarizarnos con los arreglos, que JAVA son
objetos.
Muchos de los conceptos ya se nos familiariza los conceptos básicos
(tratamiento de objetos) y terminología (jerga de objetos) de la
programación orientada a objetos en JAVA.
Explicamos cómo crear y utilizar clases y describe los conceptos de
abstracción, encapsulación, instanciación, inicialización, constructores y
destructores. Este módulo también define la herencia, el polimorfismo y
los espacios de nombres.
ORIENTADA A OBJETOS: OBJETIVOS
- Entender los conceptos de programación orientada a objetos,
incluyendo clase, abstracción, encapsulación y objeto.
- Utilizar el Examinador de objetos para examinar los
elementos de programación disponibles, incluyendo clases y
objetos.
- Crear una nueva clase, incluyendo sus métodos, propiedades
y miembros de datos.
- Crear y utilizar la instancia de una clase, incluyendo
miembros de instancia y de datos compartidos, y métodos
compartidos y no compartidos.
- Explicar cómo funcionan los constructores y los
destructores.
- Explicar la herencia, el polimorfismo y los espacios de
OBJETOS
Introducción. Para ejecutar los métodos y utilizar las
propiedades de una clase, necesitamos crear una instancia de
la clase. Instancia de una clase se denomina objeto. Las
palabras clase y objeto se utilizan con tanta frecuencia en la
programación orientada a objetos que es fácil confundir los
términos. Piense en una clase como una representación
abstracta de algo y en un objeto como en un ejemplo utilizable
de lo que representa la clase.
Definición. Un objeto es una unidad de software que contiene
una colección de métodos y datos relacionados. Un objeto es
una instancia específica de una clase, e incluye las
características de esa clase.
Ejemplo. La palabra coche tiene diferentes significados en
contextos distintos. En ocasiones, hace referencia al concepto
OBJETOS
Identidad. Objetos tienen identidad. Identidad es la
característica de un objeto.
Comportamiento. Objetos facilitan comportamiento. El
comportamiento es la característica que hace útiles los objetos.
Los objetos existen para proporcionar comportamiento. Eje. el
funcionamiento interno de un coche y pensar en su
comportamiento. Los coches son útiles porque podemos
conducirlos. El funcionamiento interno existe, pero
normalmente es inaccesible. Lo que es accesible es el
comportamiento de un objeto. Los objetos de la misma clase
comparten el mismo comportamiento. Un coche podemos
conducirlo.
Estado. Los objetos tienen estado. El estado es la
característica que hace referencia al funcionamiento interno de
CLASE
Introducción. En la programación orientada a objetos,
utilizamos la abstracción y la encapsulación para crear clases
bien diseñadas.
Definición. Una clase es una plantilla o una estructura
preliminar de un objeto. Esta estructura preliminar define
atributos para almacenar datos y define operaciones para
manipular esos datos. Una clase define un conjunto de
restricciones para permitir o denegar el acceso a sus atributos
y operaciones.
Uso de la abstracción. Para crear una clase bien diseñada,
utilizaremos la abstracción. Al implementar la abstracción,
definiremos un concepto utilizando un mínimo conjunto de
funcionalidades pensadas cuidadosamente que proporcione el
comportamiento fundamental de la clase de un modo fácil de
CLASE
Ejemplo de abstracción. El formulario NetBeans con el que hemos
estado trabajando es un buen eje. de abstracción. Las propiedades
esenciales de un formulario, son el título y color de fondo, abstraídos en
la clase JFrame. Operaciones esenciales que se han abstraído son abrir,
cerrar y minimizar.
Uso de la encapsulación. La abstracción se garantiza mediante la
encapsulación. La encapsulación es el empaquetamiento de atributos y
funcionalidades para crear un objeto que esencialmente es una caja
negra (cuya estructura interna permanece privada).
Empaquetamos los detalles de la abstracción y proporcionamos acceso
sólo a los elementos que necesitan estar accesibles. Otros objetos
acceden a los servicios de un objeto encapsulado únicamente mediante
mensajes que pasan a través de una interfaz definida.
Ejemplo de encapsulación. Es un terminal de autoservicio (automatic
teller machine, ATM). La interfaz de la ATM es simple para el cliente
ATM, y el funcionamiento interno está oculto. Del mismo modo, una
Trabajar con clases
Estructura de la lección Esta lección incluye los siguientes temas
y actividades
Cómo crear una nueva clase
Cómo agregar miembros de datos de una instancia
Cómo agregar métodos
Cómo agregar propiedades
Cómo crear una instancia de una clase
Cómo utilizar constructores
Cómo utilizar destructores
Introducción. La plataforma NetBeans proporciona la
biblioteca de clases del Contenedores Swing, Controles,
Swing, Menús Swing, Ventanas Swing, otros, pero también
nosotros podemos crear nuestras propias clases. Esta lección
describe cómo crear una nueva clase, agregar miembros de
Trabajar con clases
Objetivos de la lección. En esta lección, aprenderemos a:
Crear una nueva clase.
Agregar miembros de datos de una instancia a una nueva
clase.
Agregar métodos a una nueva clase.
Agregar propiedades a una nueva clase.
Crear un objeto.
Utilizar constructores para inicializar nuevos objetos.
Utilizar destructores para desinicializar objetos.
Cómo crear una nueva clase
Crear una nueva clase utilizando el comando Agregar clase del menú
Proyecto
Ejemplo de una nueva clase denominada
Public Class Vectores
Public Class BankAccount
End Class
Introducción. Una vez finalizado el proceso de abstracción para
determinar las entidades relevantes de un problema de negocio
determinado, estaremos preparados para crear clases que reflejen las
entidades en la abstracción.
Crear una nueva clase
1. Abrir un proyecto en NetBeans (si no hay ninguno abierto).
2. En el menú Proyecto, hacer clic en Agregar clase.
3. En el cuadro Agregar nuevo elemento, escribir el nombre de la
nueva clase y hacer clic en Abrir.
El Editor de código proporciona instrucciones de programación que
ORIENTDADA A OBJETOS
Cómo agregar miembros de datos de una instancia
Agregar un miembro de datos denominado balance
Public Class BankAccount
Private balance As Double
End Class
Introducción
Tras agregar una nueva clase a nuestro proyecto, podemos agregar
miembros de datos a la clase. Un miembro de datos específico para una
instancia de la clase se denomina miembro de datos de una instancia.
Cuando agregamos miembros de datos de una instancia a una clase,
especificamos el nivel de acceso estableciendo los modificadores de
acceso.
Miembros de datos de una instancia
Los miembros de datos de una instancia incluyen variables y constantes
miembro. Las variables miembro también se denominan campos.
En el siguiente ejemplo, se agrega a la clase un miembro de datos de tipo
Double denominado balance (saldo):
Cómo agregar métodos
Cómo agregar métodos
Agregar un método denominado Deposit
Public Class BankAccount
Public Sub Deposit(ByVal amount As Double)
balance += amount
End Sub
End Class
Métodos sobrecargados: dos o más métodos con el
mismo nombre pero diferentes firmas
Ejemplo: MessageBox.Show
Introducción. Podemos agregar métodos a una clase. Cuando
agregamos métodos, especificamos el nivel de acceso
estableciendo el modificador de acceso. Los métodos incluyen
funciones y procedimientos Sub.
Cómo agregar métodos: Ejemplo
En el siguiente ejemplo, se agrega a la clase un método denominado
Deposit:
Public Sub Deposit(ByVal amount As Double) Balance +=amount
End Sub
En este ejemplo, el método Deposit es público, por tanto los usuarios
de esta clase pueden depositar dinero en una cuenta utilizando el método
Deposit.
Sobrecarga de métodos . La sobrecarga de métodos se produce cuando
una clase contiene dos o más métodos con el mismo nombre pero
distintas firmas. Un ejemplo de método sobrecargado es el método
MessageBox.Show. El método Show proporciona doce sobrecargas.
Estas sobrecargas hacen que el método sea más flexible para los usuarios
del método. Para sobrecargar un método, utilice la palabra clave
Overloads. La palabra clave Overloads declara una propiedad o
método con el mismo nombre que un miembro existente, pero con una
lista de parámetros distinta del miembro original.
El siguiente ejemplo muestra un método sobrecargado denominado
Cómo agregar propiedades
Programación orientada a objetos en Visual Basic .NET 13. Agregar
una propiedad:
Public Class BankAccount
Private customerName As String
Public Property Name( ) As String
Get
Return customerName
End Get
Set (ByVal Value As String) customerName = Value End
Set
End Property
End Class
Introducción. Podemos agregar propiedades a una nueva clase en
nuestro proyecto. Podemos asignar la propiedad, y podemos recuperar el
valor de la propiedad desde la clase.
Agregar propiedades. Para agregar miembros de propiedades a una
clase, normalmente definimos un miembro de datos privado y
EJEMPLO
En el siguiente se agrega a la clase BankAccount una propiedad
denominada Name:
Public Class BankAccount
Private customerName As String
Public Property Name( ) As String
Get
Return customerName
End Get
Set(ByVal Value As String)
customerName = Value
End Set
End Property
End Class
ReadOnly y WriteOnly
Utilizamos el modificador ReadOnly en la declaración de la
propiedad para
crear únicamente la propiedad Get. Utilizamos el modificador
Cómo crear una instancia de una clase
Uso de la palabra clave New para crear una instancia de la clase
BankAccount :
Module Bank
Sub Main
Dim account As New BankAccount( );
account.Deposit(500.00)
End Sub
End Module
Introducción. Para ejecutar los métodos y utilizar las propiedades de
una clase, debemos crear una instancia de la clase. La instancia de una
clase se denomina objeto.
Sintaxis. Para crear una instancia de una clase, declaramos una variable
del tipo de la clase y utilizamos la palabra clave New, como se muestra
en la siguiente línea de código:
Dim nombre_objeto As New tipo_objeto( )
Ejemplo: El siguiente ejemplo muestra cómo crear una instancia de la
clase BankAccount utilizando la palabra clave New:
Creación de una clase
Programación orientada a objetos en Visual Basic .NET 15
En esta práctica, crearemos una clase BankAccount con métodos y
propiedades
En esta práctica, crearemos una clase BankAccount con métodos y
propiedades.
Agregar una nueva clase a un proyecto
1. Abrir una nueva aplicación Windows en Visual Basic .NET. Establecer
SimpleClass como nombre del proyecto y ubicarlo en una carpeta
llamada CreatingClass.
2. En el menú Proyecto, hacer clic en Agregar clase.
3. En el cuadro de diálogo Agregar nuevo elemento, cambiar el
nombre de clase por BankAccount.vb, y hacer clic en Abrir.
Agregar miembros de datos, métodos y propiedades a la clase
1. Agregar un miembro de datos privado denominado customerBalance
de tipo Double, como se muestra en la siguiente línea de código:
Private customerBalance As Double
2. Agregar otro miembro de datos privado denominado customerName
Como se muestra en la siguiente línea
de código:
Private customerName As String
3. Crear un método público denominado Deposit que toma un
parámetro amount de tipo Double por valor, como sigue:
Public Sub Deposit(ByVal amount As Double) End Sub
4. En el método, incrementar el valor del saldo (balance) añadiéndole
amount, como sigue:
customerBalance += amount
5. Crear una propiedad pública denominada Name, como sigue:
Public Property Name( ) As String End Property
6. En el bloque Get de la propiedad, devolver customerName, como
sigue:
Get Return customerName End Get
7. En el bloque Set de la propiedad, asignar Value a customerName,
como sigue:
Set(ByVal Value As String) customerName = Value End Set
8. Crear una propiedad de sólo lectura denominada Balance que
devuelva el saldo actual, como sigue:
Codificación
El código complete de la clase BankAccount debería ser como el
siguiente:
Public Class BankAccount
Private customerBalance As Double
Private customerName As String
Public Sub Deposit(ByVal amount As Double)
customerBalance += amount
End Sub
Public ReadOnly Property Balance( ) As Double
Get Return customerBalance End Get
End Property
Public Property Name( ) As String
Get Return customerName End Get
Set(ByVal Value As String)
customerName = Value
End Set
End Property
Crear un una utilidad de prueba para la clase BankAccount
1. Agregar al proyecto un modulo TestHarness.vb.
2. Crear un procedimiento Sub público Main, como sigue: Public Sub
Main( ) End Sub
3. Dentro Sub Main, crear una instancia de la clase BankAccount:
Dim account As New BankAccount( )
4. Utilizar la propiedad Name para asignar el nombre a la cuenta:
account.Name = "Joe"
5. Utilizar el método Deposit para depositar dinero en la cuenta:
account.Deposit(500)
6. Utilizar un cuadro de mensaje para mostrar el nombre de la cuenta y
saldo, como sigue:
MessageBox.Show ("Name: " & account.Name & _". Balance: $" &
account.Balance( ))
7. Cambiar el objeto de inicio del proyecto, utilizar Sub Main. 8.
Generar y ejecutar program
El código complete del módulo TestHarness debería ser el siguiente:
Module TestHarness
Cómo utilizar los constructores
Ejecutan código cuando el objeto está instanciado
Public Sub New( ) Perform simple initialization; value = 1; End
Sub
Pueden sobrecargarse, pero no utilizan la palabra clave Overloads
Public Sub New(ByVal i As Integer) ' Overloaded without Overloads
keyword
' Perform more complex initialization; value = i
End Sub
En Visual Basic .NET, la inicialización de nuevos objetos se controla
utilizando constructores. Para crear un constructor para una clase, se crea
un procedimiento denominado Sub New en cualquier lugar de la
definición de la clase.
Características de Sub New
El constructor Sub New tiene las siguientes características:
El código del bloque Sub New siempre se ejecutará antes de
cualquier otro código de una clase.
El constructor Sub New solo se ejecutará una vez, cuando se cree un
Cómo utilizar los constructores
La siguiente línea de código crea un objeto desde una clase denominada
BankAccount, ya definida en la aplicación.
Dim myAccount As New BankAccount( )
sobrecargar New y crear tantos constructores de clases como sean
necesarios. Esto resulta útil si deseamos inicializar nuestro objeto cuando
lo creemos.
Sobrecarga de constructores
Sobrecargar constructores del mismo modo que cualquier otro método de
una clase. Podemos utilizar la palabra clave Overloads cuando
sobrecargamos constructores. El siguiente ej. muestra cómo
sobrecargar New y crear múltiples constructores de clase:
Class BankAccount
Private balance as Double
Sub New( ) ' Initialize balance; balance = 0.0 ; End Sub
Sub New(ByVal amount As Double) balance = amount; End Sub
End Class
Uno de los constructores del ejemplo anterior toma un parámetro, incluir
CONTENIDO ANALÍTICO
1.1. Tipo de datos
1.2. Tipo abstracto de datos y estructura de
datos
1.3. Estructuras de datos fundamentales.
1.4. La Estructura Array.
1.5. Vectores.
1.6. Matrices.
1.7. La Estructura Registro.
1.8. Definición de registros.
1.9. Acceso a los campos de un registro.
1.10. Combinaciones entre arreglos y registros.
1.1. Tipo de datos
Cómo podemos solucionar los problemas y llevarlos a
Modelo estructuras.
Tipo de datos
Abstracto
Estructura de
Datos
Matemático
Programa en Programa en
Algoritmo
pseudolengua NetBeans,
informal
je C++

Proceso de solución de problemas


Ejemplo:
int a=0, b, c; String cadena;
char a1, cad;
float s;
boolean sw;
1.1. Tipo de datos
El tipo de datos de una variable es el conjunto de
valores a tomar: entero (integer), real (float), booleano
(boolean), carácter (char)
1.2. Tipo abstracto de datos y estructura de datos.
Un tipo de dato abstracto es un modelo matemático,
con varias operaciones definidas sobre ese modelo.
Un tipo de datos es una colección de valores;
Existen distintos tipos de datos puede realizar distintas
operaciones, las cuales son implementadas en lenguaje
de programación.
Tipos de datos predefinidos.- Los lenguajes de
programación siempre han tenido, como parte de su
Tipo abstracto de datos y estructura
de datos.
Los lenguajes soportan tipos de datos, TDP-Tipo de
Dato Predefinido
Tipos de datos estructurados (TDE)
Los lenguajes de programación permiten definir tipo
de Dato Estructurados, manipularse como si fuese una
sola cosa y son:
Arreglos: Hacer referencia a cualquiera de las celdas
del arreglo es necesario el nombre del arreglo y el
valor de uno o más índices lo que permite tener acceso
aleatorio a cada elemento de la colección.
Registros: Permite agrupar diferentes elementos,
manejarlos y establecer relaciones lógicas entre ellos.
Tipo abstracto de datos y estructura
de datos
Tipos de datos abstractos básicos.- El TDA Entero
tiene como tipo el conjunto de números, operaciones
la suma, resta, multip. y división
El TDA Real tiene como tipo el conjunto de números
reales definido por las matemáticas y operaciones.
El TDA Carácter tiene conjunto de caracteres definido
por un alfabeto dado y operaciones de los operadores
relacionales (<, >, =, >=, <=,<>)
El TDA Booleano tiene como tipo el conjunto de
valores {verdadero, falso} y como operaciones el
AND, OR y NOT definidos en el Álgebra Booleana.
Tipos de datos abstractos compuestos.- El TDA
1Tipo abstracto de datos y estructura
de datos
Resumen de conceptos.- Abstracción: Habilidad que
permite tener en cuenta lo fundamental o relevante,
dejando de lado los detalles. Se aplica en la solución
de problemas o situaciones.
Abstracción de procedimientos: Facilidad que
presentan los lenguajes de programación de manera
que se los programas se puedan dividir en unidades
funcionales.
Estructura: Conjunto de partes fundamentales de un
sistema, incluidas sus relaciones, distribución y orden,
que caracterizan al sistema.
Estructura de datos: Implementación a la que se
1Tipo abstracto de datos y estructura
de datos

.
1Tipo abstracto de datos y estructura
de datos

.
1Tipo abstracto de datos y estructura
de datos
1.3. Estructuras de datos fundamentales. SI queremos hacer
una agenda con los números de teléfono de nuestros amigos.
Necesitaríamos un array de Cadenas para almacenar sus
nombres, otro para sus apellidos y otro para sus números de
teléfono. Esto puede hacer que el programa quede
desordenado y difícil de seguir. Y aquí es donde vienen en
nuestro auxilio las estructuras. Para definir una estructura
usamos el siguiente formato:
struct nombre_de_la_estructura {
campos de estructura;
};
Es importante no olvidar el ';' del final, si no a veces se
obtienen errores extraños. Para nuestro ejemplo podemos crear
1Tipo abstracto de datos y estructura
struct estructura_amigo {
de datos
char nombre[30];
char apellido[40];
char telefono[10];
char edad; };
A cada elemento de esta estructura (nombre, apellido, teléfono) se le llama campo o
miembro. He declarado edad como char porque no conozco a nadie con más de 127
años. Ahora ya tenemos definida la estructura, pero aun no podemos usarla.
Necesitamos declarar una variable con esa estructura. struct estructura_amigo amigo;
Ahora la variable amigo es de tipo estructura_amigo. Para acceder al nombre de amigo
usamos:
amigo.nombre. Vamos a ver un ejemplo de aplicación de esta estructura. (En el
siguiente ejemplo los datos no se guardan en disco así que cuanda acaba la ejecución
del programa se pierden).
#include <stdio.h>
struct estructura_amigo { /* Definimos la estructura estructura_amigo */
char nombre[30];
char apellido[40];
1Tipo abstracto de datos y estructura
de datos
printf( "Escribe el nombre del amigo: " );
fflush( stdout ); scanf( "%s", &amigo.nombre );
printf( "Escribe el apellido del amigo: " ); fflush( stdout ); scanf( "%s",
&amigo.apellido );
printf( "Escribe el número de teléfono del amigo: " );
fflush( stdout ); scanf( "%s", &amigo.telefono );
printf( "El amigo %s %s tiene el número: %s.\n", amigo.nombre,
amigo.apellido, amigo.telefono );
}
Este ejemplo estaría mejor usando gets que scanf, ya que puede haber nombres
compuestos que scanf no cogería por los espacios.
Se podría haber declarado directamente la variable amigo:
struct estructura_amigo {
char nombre[30];
char apellido[40];
char telefono[10];
} amigo;
PROGRAMACIÓN ORIENTADA A OBJETOS
Programac Soporte Prestaciones
ión sintáctico para asociadas a Cambios
Orientada los tipos las de
a abstractos de jerarquías perspectiv
Objetos datos de clases a
- Soporte sintáctico explícito para la abstracción de datos
- Cambia el punto de vista: los programas son apéndices de los datos
- Aparece un nuevo concepto: objeto
Objeto=tipo abstracto de datos con estado (atributos) y comportamiento
(operaciones) propios
Aparece el concepto de jerarquía de tipos, y con él:
– Herencia de estructura y funcionalidad
– Polivalencia de los tipos
– Polimorfismo Objeto
Sintaxis del lenguaje:
Funciones y Procedimientos
– Definición de clases
– Funciones explícitamente asociadas a clases
PROGRAMACIÓN ORIENTADA A OBJETOS EN NETBEANS
package iyl.pkg200.pkg2017;
import javax.swing.JOptionPane;
public class VECTOR extends javax.swing.JFrame {
public VECTOR() {
initComponents();
}
int A[] = new int[50]; int B[] = new int[50]; int C[] = new int[50]; int D[] = new
int[50];
int i = 1, j = 1, k = 1, l = 1, sw = 0, r = 0, x = 1, m, n, n1, n2;
void leervect(int A[], int n) {
for (i = 1; i <= n; i++) {
int n1 = Integer.parseInt(JOptionPane.showInputDialog("Introducir el valor "));
if (n1 >= 0 && n1 <= 95950 && i <= n) { A[i] = n1; }
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VECTOR().setVisible(true);
}
});
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Ventajas
Ventajas de la abstracción de datos + disciplina de
programación
Reutilización de código, mantenimiento y extensión de
las aplicaciones
Desarrollo e integración de software orientado a
componentes
Potencia del lenguaje: herencia, polimorfismo
¿Reflejar conceptos de problemas reales?
¿Más fácil de utilizar?
PROGRAMACIÓN ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
1. Objetos: atributos + métodos
2. Métodos: operaciones sobre los objetos
3. Clases: categorías de objetos con propiedades y
operaciones comunes
4. Jerarquías de clases
5. En algunos lenguajes las clases son objetos
6. Caso particular: paradigma prototipo-instancia
7. Relaciones, objetos compuestos
PROGRAMACIÓN ORIENTADA A OBJETOS
Estructura conceptual de un objeto nombre
Nombre
Propiedades: valores Edad
edad
Empleado Directivo división
División
sueldo bruto
Sueldo bruto
categoría

Relaciones con otros objetos Empleado Jefe


Directivo

Métodos: código Empleado Jefe


– Acceso al estado del objeto
– Cálculos sobre el estado
Mostrar
– Modificación del estado datos
– Constructores: inicialización personales

Empleado

Calcular
salario neto
PROGRAMACIÓN ORIENTADA A OBJETOS
Relaciones entre objetos
Tipos de relaciones
– Especialización: sólo entre clases
– Agregación: objetos compuestos formados por
partes
– Asociación: relaciones arbitrarias (p.e. jefe de
empleado)
Implementación
– Lenguajes con elementos específicos para relaciones
– Atributos que contienen referencias (punteros) a
objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
Objetos: encapsulamiento
Porción visible: interfaz (protocolo)
– Contrato público de comportamiento
– Descripción de operaciones: información de entrada
y de salida
Porción oculta: implementación
– Estructura de datos para almacenar la información
– Código que se ejecuta para realizar las operaciones
Datos

Interfaz
PROGRAMACIÓN ORIENTADA A OBJETOS
Ciclo de vida de los objetos
Creación
Reserva de memoria: Empleado x = crear Empleado
(···)
Inicialización de atributos: constructores
Manipulación
Acceso a atributos: x . nombre
Invocación de métodos: x . salario_neto ( )
Destrucción
Liberar la memoria
Destruir partes internas, si las hay
Eliminar referencias al objeto destruido (p.e. jefe)
PROGRAMACIÓN ORIENTADA A OBJETOS
Jerarquías de objetos
Jerarquía de tipos
Persona
Empleado Cliente
Persona x
Empleado y = crear Empleado
Directivo z = crear Directivo
Empleado Cliente x=y
x=z

Directorio
PROGRAMACIÓN ORIENTADA A OBJETOS
Herencia de estructura
Nombre
Persona
Edad

Nombre de empresa
Teléfono de contacto
Empleado Sueldo Cliente

Directorio Categoría
PROGRAMACIÓN ORIENTADA A OBJETOS
Herencia de funcionalidad
Mostrar
datos
personales

Especialización Persona Especialización

Mostrar
Mostrar Mostrar
Empleado Cliente datos
datos datos
personales
personales personales

Sueldo
Mostrar Mostrar
datos datos Directorio
personales personales
PROGRAMACIÓN ORIENTADA A OBJETOS
Facilidad de extensión

Reutilizació Persona
n

Modularida
Mostrar
d
datos
personales Empleado Cliente

Mostrar
datos
personales
Administrat
Directorio
ivo
PROGRAMACIÓN ORIENTADA A OBJETOS

Curso año promoción


Licenciad
Asignaturas Estudiante
o
especialidad
Matricularse(asignatura) nota media

Alumno
doctorado
Año promoción
especialidad
nota media
curso
asignaturas
matricularse (asignatura)
PROGRAMACIÓN ORIENTADA A OBJETOS
Herencia múltiple
Resolución de la ambigüedad
x
A

y B C y
t s
D obj = crea D
Obj x
D
Obj y
x
y
s
t
PROGRAMACIÓN ORIENTADA A OBJETOS
Polimorfismo
Sobrecarga Ligadura dinámica
Recta r1 = crear Recta Persona x
Recta r2 = crear Recta Empleado y = crear Empleado
Vector v = crear Vector x=y
r1.paralela (r2) x.mostrar_datos ( )
r1.paralela (v) y.mostrar_datos ( )
􀂃 Sobreescritura (especialización)
Persona x = crear persona
Empleado y = crear Empleado
x.mostrar_datos ( )
y.mostrar_datos ( )
PROGRA. ORIENTA. A OBJETOS: CONTROLES SWING
- Etiqueta
- Botón
- Botón de dos posiciones
- Casilla de activación
- Botón de opción
- Grupo de botones
- Lista desplegable
- Lista
- Campo de texto
- Area de texto
- Barra de desplazamiento
- Deslizador
- Barra de progreso
- Cuadro formateado
- Cuadro de contraseñas
- Spiner
- Separador
- Panel de texto
- Panel de editor
- Arbol
- Tabla
ORIENTDADA A OBJETOS
Hacerlo podría producir el hábito erróneo de crear clases de
contenedoras de información por un lado y clases con métodos
que manejan a las primeras por el otro. De esta manera se
estaría realizando una programación estructurada camuflada
en un lenguaje de programación orientado a objetos.
ABSTRACCIÓN.- Denota las características esenciales de un
objeto, donde se capturan sus comportamientos. Cada objeto
en el sistema sirve como modelo de un agente abstracto que
realiza trabajo, informar y cambiar su estado. Y comunicarse
con otros objetos en el sistema sin revelar cómo se
implementan estas características.
ENCAPSULAMIENTO.- Significa reunir a todos los
elementos que pueden considerarse pertenecientes a una
misma entidad, al mismo nivel de abstracción. Esto permite
ORIENTDADA A OBJETOS
MODULARIDAD.- Se denomina modularidad a la propiedad
que permite subdividir una aplicación en partes más pequeñas
(llamados módulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicación en si de los
restantes partes.
PRINCIPIO DE OCULTACIÓN.- cada objeto está aislado al
exterior es un módulo natural, y cada tipo de objeto expone
una interfaz a otros objetos que especifica cómo pueden
interactuar con los objetos de la clase.
POLIMORFISMO.- Comportamiento diferentes asociados a
objetos distintos, pueden compartir el mismo nombre, al
llamados por ese nombre se utilizará el comportamiento
correspondiente al objeto que se está usando.
HERENCIA.- Las clases no están aisladas, sino que se
ORIENTDADA A OBJETOS
RECOLECCIÓN DE BASURA.- La recolección de basura o
garbage collector es la técnica por la cual el entorno de objetos
se encarga de destruir automáticamente , y por tanto
desvincular la memoria asociada, los objetos que hayan
quedado sin ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignación o
liberación de memoria asociada, los objetos que hayan
quedado sin ninguna referencia a ellos.
LABORATORIO 1
import java.io.*;

También podría gustarte