You are on page 1of 11

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico Superior de San Martín


Texmelucan

DIVISIÓN DE INGENIERÍA EN
EN TECNOLOGÍAS DE LA INFORMACIÓN Y
COMUNICACIONES

NOMBRE DE LA ASIGNATURA
Programación Orientada A Objetos

Reporte de Programas:

Perrera y Figuras Geométricas

PRESENTA
Nombre del alumno(s)

Jose Francisco Flores Piedras

Declaro que el siguiente trabajo de evaluación es el fruto de análisis y trabajo personal. El uso de todos los recursos
como citas, ilustraciones, scripts de terceros, se menciona de forma clara y estricta su origen, tanto en el cuerpo del
texto como en la bibliografía. En este sentido, soy (somos) consciente(s) de que el hecho de no respetar los derechos de
autor y hacer plagio, son objeto de sanciones universitarias y/o legales.

Nombre y firma del alumno

San Martin Texmelucan, Pue. A 22. Marzo, 2018


Contenido

Introducción ............................................................................................................................................. 2
Desarrollo ................................................................................................................................................. 3
Conclusión ................................................................................................................................................ 9

i
Introducción

La OPP es una forma de programar en la que diferentes bloques de código


relacionados con un tema específico ( pensemos en un MovieClip ) se asocian y se
diferencian de otros.
Los objetos, físicamente se almacenan en un archivo de clase, y cuando
necesitemos recurrir a ellos los llamaremos y accederemos a sus propiedades,
métodos ( funciones ) y eventos.

Algunas de las causas que están influyendo considerablemente en el auge de las


programaciones orientadas a objetos son:

La OOP (orientación a objetos) nos permite trabajar de una forma más organizada.

Nos posibilita la reutilización del código.

Nos permite ampliar y utilizar código desarrollado por terceros

El resultado es un código más limpio, más ordenado y a la larga más fácil de


entender y de desarrollar. Hay que tener en cuenta que la mayoría de los objetos
comparten una serie de características a nivel sintáctico.

En los siguientes programas se analizará la estructura que se realizó para su


funcionamiento asi como las funcionalidades de cada estructura implementada en
el mismo, encontraremos fundamentos básicos de la POO como el polimorfismo,
métodos, constructores y demás.
Desarrollo

FIGURAS GEOMETRICAS
Clase Entrada:
Esta clase se realizó con el fin de crear un método “Leer” que nos sirve para la
entrada de datos desde el teclado, aunque Java por si solo ya cuenta con esta
función.
package areas; int valor=Integer.parseInt(inicializar());
import java.io.*; return valor;
public class entrada{ }
static String inicializar () static double real()
{ {
String buzon =""; double
InputStreamReader flujo=new valor=Double.parseDouble(inicializar());
InputStreamReader (System.in); return valor;
BufferedReader teclado=new }
BufferedReader (flujo); static String Cadena()
try {
{ String valor=inicializar();
buzon=teclado.readLine(); return valor;
} }
catch(Exception e) static char caracter()
{ {
System.out.append("entreada String valor=inicializar();
incorrects"); return valor.charAt(0);
} }
return buzon;
} }
static int entero()
{

3
Clase Circulo, Triangulo y Rectángulo:

4
Codigo Main Figuras Geometricas:
package areas;
public class Areas { case 2:
public static void main(String[] args) //trabaja con el metodo int entonces se ocupa el "entero"
{ System .out.println("rectangulo");
//la variable opc sirve para hacerle saber al switch nuestra System .out.println("dame la base ");
decisión int base =entrada.entero();
int opc; System .out.println("dame la altura ");
int altu =entrada.entero();
do{ recta = new rectangulo(altu, base);
//El do While permite crear un menu double total;
System .out.println("elija un numero de acuerdo a la lista del total= recta.arectangulo();
menu: "); System.out.println( "El area del rectangulo es:"+total );
System .out.println("1.-circulo"); System.out.println("");
System .out.println("2.-rectangulo"); break;
System .out.println("3.-triangulo"); case 3:
System .out.println("4.-salir"); // cuando se ocupa la sentencia double aplica el metodo de
entrada teclado; "real" para los int son el "entero"
circulos circuloss; //ocupa la sentencia de double y ocupa el "real"
rectangulo recta; System .out.println("triangulo");System
triangulo tri; .out.println("dame la base ");
teclado=new entrada(); double b =entrada.real();
opc= entrada.entero(); System .out.println("dame la altura ");
switch(opc){ double a =entrada.real();
case 1: tri = new triangulo(b,a);
// las clases de circulos en el constructor si ocupa las sentecia int double arg;
entonces es "entero" ejemplo"int rata =entrada.entero();" arg = tri.areatriangulo();
System .out.println("circulo"); System.out.println("El area del triangulo es:" + arg );
System .out.println("dame el radio"); System.out.println("");
int rata =entrada.entero(); //nuestro default se utiliza cuando ninguno de nuestros case
circuloss = new circulos(rata); se ejecuta
// declaramos una variable y mandamos a traer al default : System .out.println("no exite esa opccion ");
metodo Acirculos System .out.println("vuelva a correr el programa");
double areac; System.out.println("");
areac = circuloss.Acirculo(); break;
System.out.println("El area del circulo es:" + areac ); }
System.out.println(""); }
break; while(opc>=1 && opc<=3);
}
}:

5
CLASE PERROS: Algunos métodos no se usan en el main sin embargo podemos usarlos más adelante
}
package veterinaria;
public void obtenerRaza(String m) {
import javax.swing.JOptionPane;
raza=m;
public class Perro { }
// datos miembro servirán para usarlos en los metodos
String nombre; //Este método sirve para calcular el precio del collar
String raza; public void perro (){
float altura; //declaramoas las variables para utiliar el precio de la
public Perro(){ clase letras y total
this.nombre=""; int letras, total;
this.raza=""; letras=
} Integer.parseInt(JOptionPane.showInputDialog("¿Cuantas
public Perro(String nombre){ letras tiene el nombre del perro"));
this.nombre=nombre; total = letras*2;
this.raza=""; JOptionPane.showMessageDialog(null, "Aqui esta el
} collar \n son $ "+ total);
public Perro(String nombre, String raza){ //Aquí solo hacemos la impresión de la placa
this.nombre=nombre.toUpperCase(); mediante el uso de system y print.
this.raza=raza; System.out.println("--------------------------------");
} System.out.println("- -");
System.out.println(" "+nombre+" ");
// Este método solo es para que el perro ladre System.out.println("- -");
public String ladrar(){ System.out.println("- "+raza+" -");
return "gua gua"; System.out.println("- -");
} System.out.println("--------------------------------");
}
public String mostrarNombre() {
return nombre; }
}
public String mostrarRaza()
{
return raza;
}
public void obtenerNombre(String n) {

nombre=n;

6
PERRERA:
package veterinaria; JOptionPane.showMessageDialog(null,"El primer perro se llama:
import javax.swing.JOptionPane; "+ p1.mostrarNombre() + "\n raza: "+ p1.mostrarRaza());
/**
* @author Luis Alberto
*/ a.obtenerNombre(JOptionPane.showInputDialog("Ingrese el
public class Perrera { nombre del segundo perro: ")) ;
a.obtenerRaza(JOptionPane.showInputDialog("Ingresa
/** la raza del segundo perro: "));
* @param args the command line arguments
*/ p2= new Perro(a.nombre,a.raza);
public static void main(String[] args) { JOptionPane.showMessageDialog(null,"El segundo
{ perro se llama: "+ p2.mostrarNombre() + "\n de raza: "+
Perro a = new Perro(); p2.mostrarRaza());
Perro p1,p2,p3; a.perro();
//para el joption se deben de usar las variables que ya
se introdujeron a.obtenerNombre(JOptionPane.showInputDialog("Ingrese el
// creamos objetos en programa, se crearon en la clase nombre del tercer perro: ")) ;
de perros a.obtenerRaza(JOptionPane.showInputDialog("Ingresa
la raza del tercer perro: "));
a.obtenerNombre(JOptionPane.showInputDialog("Ingrese el p3= new Perro(a.nombre,a.raza);
nombre del primer perro: ")) ; JOptionPane.showMessageDialog(null,"El segundo
a.obtenerRaza(JOptionPane.showInputDialog("Ingresa perro se llama: "+ p3.mostrarNombre() + "\n de raza: "+
la raza del primer perro: ")); p3.mostrarRaza());
a.perro(); a.perro();
//se manda a traer la clase de perro asignándole las }
variables }
p1= new Perro(a.nombre,a.raza); }
//se manda a traer al metodo que la clase de perro y de
igual manera en los demás perros
//null este nos permite que nos le asignemos una variable
para qie nos funcione el codigo

7
Evidencias de Funcionamiento
AREAS

Perrera:

8
Conclusión
Por un lado vimos la parte de la
abstracción
de los datos, el cómo modelar un problema de la vida real a un entorno que una
computadora lo pudiera comprender, primero diseñando nuestras clases y su
relación entre ellas.
Para esto fuimos aprendiendo diversos conceptos que sostienen los cuatro
principios básicos de la
POO
También, cuando implementamos nuestras clases y las jerarquías, aprendimos que
tanto los métodos y las propiedades de las mismas pueden tener un acceso
restringido a otras clases, de modo que la interacción se diera en un contexto
seguro.
Esta
encapsulación
es la que nos permite la modularidad entre los componentes.
Por otro lado, cuando aprendimos sobre la
herencia
, nos dimos cuenta que con nuestra abstracción de los problemas podemos armar
jerarquías de objetos que se van expandiendo y especializando.
Lo que nos permite crear el código modular y reutilizable.
Por último, el
polimorfismo
y la habilidad que nos da el poder interactuar con un objeto de manera diferente,
dependiendo del contexto, nos mostró que podemos ir expandiendo nuestro código
de forma modular utilizando las interfaces y contratos que definamos.
Recuerda que en la programación la clave para mejorar es la práctica constante y
la actualización.
Lo anterior, junto con los demás temas de programación que estudiamos, son la
base que te permitirá crear programas, sistemas, aplicaciones, videojuegos, etc.

9
10

You might also like