Sunteți pe pagina 1din 8

PROGRAMACION ORIENTADA A OBJETOS HERENCIA

LABORATORIO SESIÓN N° 1
Carrera Profesional : Ingeniería de Sistemas. Asignatura: Programación Orientada a objetos
Ciclo : Grupo SUBE :
Catedrático : Ing. Juan Francisco Vera Castillo

Sesión 1 : Fundamentos de POO : Encapsulamiento y Herencia

INTRODUCCIÓN

Los problemas de objetos y clases son los escenarios más utilizados en el contexto del
paradigma de programación actual en todo el mundo. Las clases son abstracciones que
se usan para diseñar soluciones de problemas del mundo real.
El acceso a ellas también es en forma directa por medio de una referencia (puntero).
Las clases y los objetos se usan para el almacenamiento y manejar de los datos.
La primera labor en las clases es representar el mundo real en base a atributos y
métodos, donde cada atributo puede contener un valor y cada método una acción sobre
algún atributo.
El software que usaremos para la prueba y ejecución de los algoritmos desarrollados en
aula será el Netbeans.

I. OBJETIVOS

Al término de esta experiencia, el estudiante será capaz de:


1. Identificar las clases y objetos, entre ellos las clases estáticas.
2. Programar correctamente programas con clases

II. EQUIPOS Y MATERIALES

Computadora personal
Programa NetBeans instalado
Cuaderno de clases, donde están los ejercicios resueltos.

III. METODOLOGIA Y ACTIVIDADES

a. Encender el computador.
b. Crear carpeta donde guardará el proyecto y sus programas.
c. Ingresar al Netbeans
d. Codificar los algoritmos desarrollados en el aula.
e. Presentar avances y ejecución de cada uno de los ejercicios al docente encargado
para la calificación correspondiente.
f. Guardar la carpeta de sus archivos a sus memorias.
g. Retirarse del laboratorio de forma ordenada.

Ing. Juan Vera Castillo Página 1


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Clases
Sintaxis general :
public class Nombre
{
// atributos privados
// constructores públicos
// métodos públicos o priovados
}

Creación de objetos
Un objeto, en la práctica es una variable cuyo tipo de dato es una clase. Cuando el
objeto es creado, obtiene una copia de los atributos de la clase para uso exclusivo de
dicho objeto. Por ésta razón, todos los objetos de una clase tendrán los mismos atributos
pero cada uno con valores diferentes.

Sintaxis general :

Asignación de objetos
Cuando una referencia se iguala a otra referencia que apunta a un objeto, el resultado
es que las dos referencias apuntan al mismo objeto. Luego, el acceso a los datos y
métodos puede hacerse por cualquiera de las dos referencias.

Sintaxis general :

// 2 referencias a futuros objetos


Clase a, b;
// crea un objeto invocando al constructor
a = new Clase();
// la referencia b apunta a donde apunta a
b = a;

Entonces ahora con la referencia


b también podemos acceder a los
métodos y atributos del objeto
creado con la referencia a.

Ing. Juan Vera Castillo Página 2


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Ejercicio 1

Crear un proyecto nuevo de nombre proy01E01. Crear un paquete de nombre


paq01e01. Crear una clase de nombre Producto con los atributos : código (String),
descripción (String), precio (doublel) y los métodos públicos get/set. Diseñe la GUI de
nombre WinPrincipal con el siguiente diseño :

Cada vez que hace clic en el botón Nuevo debe crear un objeto de la clase Producto y
almacenar dentro de él los datos digitados por el usuario. Cada vez que hace clic en el
botón Mostrar debe colocar dentro del TextArea los datos almacenados en el objeto
Producto. El botón Borrar debe borrar la información del TextArea y de los TextFields y
enfocar el TextField del código.

Desarrolle la clase de aplicación de nombre WinPrincipal como un JFrame. Donde los


componentes se llamaran txtCod, txtDescrip, txtPrec.

Crear la clase producto :

public class Producto


{
// atributos privados

prívate String codigo, descripcion;


prívate double precio;

// métodos get

public String getCodigo()


{
return codigo;
}
public String getDescripcion()
{
return descripcion;
}

public double getPrecio()


{
return precio;
}

Ing. Juan Vera Castillo Página 3


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

// métodos set

public void setCodigo(String c)


{
codigo = c;
}
public void setDescripcion(String d)
{
descripción = d;
}
public void setPrecio(double p)
{
precio = p;
}
}

En la pestaña Source, ubicar la clase WinPrincipal declarar una referencia a la clase


Producto :

public class WinPrincipal extends javax.swing.JFrame


{
Producto pProd;

public WinPrincipal()
{
initComponents();
}

Ahora en la pestaña Design, damos doble clic en el botón Nuevo para programar su
acción :

private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt)


{
// crea un objeto nuevo de la clase Producto
pProd = new Producto();

// lee los valores de la GUI y los coloca como atributos del nuevo objeto
pProd.setCodigo(txtCod.getText());
pProd.setDescripcion(txtDescrip.getText());
pProd.setPrecio(Double.parseDouble(txtPrec.getText()));

método que muestra la información de un objeto de la clase Producto


private void lista()
{
txtSalida.append("Codigo\t: " + pProd.getCodigo() + "\n");
txtSalida.append("Descripcion\t: " + pProd.getDescripcion()+ "\n");
txtSalida.append("Precio\t: " + pProd.getPrecio());
}

Ing. Juan Vera Castillo Página 4


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Regresamos al diseño y hacemos doble clic en el botón Borrar para programar su


acción:

private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt)


{
txtSalida.setText("");
txtCod.setText("");
txtDescripc.setText("");
txtPrec.setText("");
txtCod.requestFocus();
}

Ejercicio 2

Cree un proyecto nuevo de nombre Proy01E02. Crear un paquete nuevo de nombre


paq01e02. Diseñe una clase de nombre Persona con los siguientes atributos privados:
nombres (String), apellidos (String), edad(int), peso(double) y con los métodos get/set.
Diseñe la GUI en un JFrame de nombre Win02Principal con el siguiente diseño :

Ejercicio 3

Cree un proyecto nuevo de nombre Proy01E03. Cree un paquete nuevo de nombre


paq01e03. Diseñe una clase de nombre TV con los siguientes atributos privados : serie
(String), marca (int), tamaño en pulgadas(int), precio (double y en US$) y con los
métodos get/set. Use un método adicional que devuelve el precio en soles dado el tipo
de cambio como parámetro, y otro método adicional que retorne el nombre de la marca.
Considere las siguientes marcas: Sony, LG, Samsung, Panasonic, otro. Diseñe la GUI
de nombre Win03Principal con el siguiente diseño:

Ing. Juan Vera Castillo Página 5


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Doble clic en el botón Nuevo para programar su acción :

private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt)


{
pTV = new TV();
pTV.setSerie(txtSerie.getText());
pTV.setMarca(cboMarca.getSelectedIndex());
pTV.setTamaño(Integer.parseInt(txtTamaño.getText()));
pTV.setPrecio(Double.parseDouble(txtPrecio.getText()));
}

Doble clic en el botón Mostrar para programar su acción :

private void listar()


{
txaSalida.setText("Nro. Serie\t: " + pTV.getSerie());
txaSalida.append("Marca\t: " + pTV.getNombreMarca());
txaSalida.append("Tamaño\t: " + pTV.getTamaño());
txaSalida.append("Precio us$\t: " + pTV.getPrecio());
txaSalida.append("Precio S/.\t: " + pTV.getPrecioSoles(2.62));
txaSalida.append("----------------------------------");
}

Desarrolle la clase de aplicación de nombre Win03Principal en un JFrame. Vaya a la


ficha Source y escriba lo que está en negrita :
public class Win03Principal extends javax.swing.JFrame
{
TV pTV;

public Win03Principal()
{
initComponents();
}

En cuanto a la salida, si los datos ingresados son :

La salida podría lucir así :

Ing. Juan Vera Castillo Página 6


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Ejercicio 4

Cree un proyecto nuevo de nombre Proy01E04. Cree un paquete nuevo de nombre


paq01E04. Considere la existencia de la clase base TV desarrollada anteriormente y
diseñe una nueva clase hija de nombre TVH, aplicando herencia, considerando los
siguientes atributos privados adicionales para TVH : origen(entero), tecnología(entero).
Considere para el campo origen : nacional, americano, japonés, koreano, chino, otro.
Considere para el campo tecnología : Tradicional, LCD, Plasma, Digital.

Considere métodos adicionales para que retornen el nombre del origen y de la


tecnología. Copie todo el contenido del paquete paq01e03 y péguelo en el paquete
creado paq01E04. Clic derecho en el paquete creado, elegimos New Java Class y
escribimos el nombre TVH y escribimos lo siguiente :

public class TVH extends TV


{
Prívate int origen, tecnología;

public TVH(String serie, int marca, int tamaño, doublé precio,


int origen, int tecnologia)
{
super(serie, marca,tamaño, precio);
this.origen = origen;
this.tecnologia = tecnología;
}
}

Ahora, con ayuda de NetBeans genere automáticamente, los métodos get/set y antes
de la última llave de cierre escriba los métodos adicionales que se indican.

// metodos adicionales
public String nombreOrigen()
{
switch(origen)
{
case 1: return "Nacional";
case 2: return "Americano";
case 3: return "Japonés";
case 4: return "Koreano";
case 5: return "Chino";
default: return "Otro";
}
}

public String nombreTecnologia()


{
switch(tecnologia)
{
case 1: return "Tradicional";
case 2: return "LCD";
case 3: return "Plasma";
default: return "Digital";
}
}

} // ultima llave de cierre de la clase

Ing. Juan Vera Castillo Página 7


PROGRAMACION ORIENTADA A OBJETOS HERENCIA

Observe y analice la aplicación de Herencia. Modifique el diseño de la GUI de nombre


Win04Principal para el ingreso de los datos, agregue 2 comboBox para el origen y la
tecnología. No olvide cambiar los nombres de variable para éstos nuevos objetos.

Ing. Juan Vera Castillo Página 8

S-ar putea să vă placă și