You are on page 1of 6

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

GUIA DE LABORATORIO N 3
TEMA: CONCURRENCIA Y ARQUITECTURAS HARDWARE.
1.

COMPETENCIAS:

2.

Identifica y diferencia con propiedad los conceptos programacin concurrente.


Comprende, explica y ejemplifica adecuadamente cuando aplicar la concurrencia
Valora la importancia de la programacin concurrente.

CONCEPTOS TEORICOS

Clase y herencia
Una clase es una plantilla que sirve para producir y utilizar objetos. Cada objeto pertenece a
una sola clase, se dice que un objeto es una instancia de una clase
La herencia es uno de los mecanismos de los lenguajes de programacin orientada a objetos
basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su
funcionalidad.
La clase de la que se hereda se suele denominar clase base, clase padre, superclase, clase
ancestro (el vocabulario que se utiliza suele depender en gran medida del lenguaje de
programacin).
Redefinicin de mtodos
En la clase derivada se puede redefinir algn mtodo existente en la clase base, con el objeto
de proveer una implementacin diferente. Para redefinir un mtodo en la subclase, basta con
declararlo nuevamente con la misma signatura (nombre y parmetros). Si se invoca un cierto
mtodo de un objeto que no est definido en su propia clase, se dispara la bsqueda hacia
arriba en la jerarqua a la que dicha clase pertenece. Sin embargo, si existieran dos mtodos con
la misma signatura, uno en la clase y otro en una superclase, se ejecutara el de la clase, no el
de la superclase. Cuando se redefine un mtodo en una clase es posible acceder explcitamente
al mtodo original de su superclase, mediante una sintaxis especfica que depende del lenguaje
de programacin empleado (en muchos lenguajes se trata de la palabra clave super )
Usando Herencia
Ejemplos 1
public class Padre {
public Padre(){
}
String Colorcabello="Negro" ;
String Colorojos = "Pardos";
Double Estatura = 1.75;
Ing. Fredy Salas Merino

1/6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

public void estudiar(){


System.out.println("domina bien las matematicas");
}
public void tomar(){
System.out.println("toma moderadamente");
}
public void trabajar(){
System.out.println("para mantener mi familia");
}
}
public class Hijo extends Padre {
public Hijo (){
}
public void cantar(){
System.out.println("canta muy bonito");
}
}
public class Main {
public static void main(String[] args) {
Hijo Marco = new Hijo();
System.out.println("HERENCIA DE MARCO DE SU PADRE");
Marco.estudiar();
Marco.tomar();
}
}
Ejemplo 2
import java.util.*;
public class PoligonoRegular {
int Base;
int Altura;
public PoligonoRegular(){
}
public void IngresarDato(){
System.out.println("ingrese la base");
Ing. Fredy Salas Merino

2/6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

Scanner base = new Scanner(System.in);


Base = base.nextInt();
System.out.println("ingrese la altura");
Altura = base.nextInt();
}
}
public class Triangulo extends PoligonoRegular{
public Triangulo(){
}
public void AreaTriangulo(){
double Area;
Area = (Base*Altura)/2;
System.out.println("el area es:"+ Area);
}
}
public class Main {
public static void main(String[] args) {
Triangulo T = new Triangulo();
System.out.println("HERENCIA DE POLIGONO");
T.IngresarDato();
T.AreaTriangulo();
}
}
Usando Metodos
Ejemplo 3
public class PruebaApp {
public static void main(String[] args) {
int operador1=3;
int operador2=5;
sumaNumeros(operador1, operador2);
System.out.println("El resultado de la suma es "+resultado);
}
Ing. Fredy Salas Merino

3/6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

public static int sumaNumeros (int num1, int num2){ //Metodo


int resultado=num1+num2;
return resultado;
}
}
Ejemplo 4
import java.util.*;
public class Main {
public static void main(String[] args) {
int numero1, numero2, resultado;
System.out.print("Introduce primer nmero: ");
Scanner sc = new Scanner(System.in);
numero1 = sc.nextInt();
System.out.print("Introduce segundo nmero: ");
numero2 = sc.nextInt();
resultado = sumar(numero1, numero2);
System.out.println("Suma: " + resultado);
}
public static int sumar(int a, int b){
int c;
c = a + b;
return c;
Ejemplo 5
public static void main(String[] args)
{
int operador1=-3;
int operador2=-5;
if (sumaNumeros(operador1, operador2))
{
System.out.println("El resultado es mayor que 0");
}
else
{
System.out.println("El resultado es menor que 0");
}
}
public static boolean sumaNumeros (int num1, int num2)
{
Ing. Fredy Salas Merino

4/6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

int resultado=num1+num2;
if (resultado>=0)
{
return true;
}
else
{
return false;
}
}
}
Ejemplo 6
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int opcion;
Scanner lector = new Scanner (System.in);
do{
System.out.println("1.Sumar");
System.out.println("Resta");
System.out.println("multiplicar");
System.out.println("Dividir");
System.out.println("/n opcion");
opcion = lector.nextInt();
switch (opcion){
case 1:
Sumar();
break;
}
}while (opcion != 1);
}
private static void Sumar(){
int Num1,Num2,resultado;
Scanner Scr = new Scanner (System.in);
System.out.println("INGRESE EL PRIMER NUMERO");
Num1 = Scr.nextInt();
System.out.println("INGRESE EL SEGUNDO NUMERO");
Num2 = Scr.nextInt();
resultado = Num1+Num2;
Ing. Fredy Salas Merino

5/6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
PROGRAMA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS

System.out.println("El resultado es"+ resultado);


}
}
Propuesto
1. Terminar con el cdigo anterior para todas las operaciones bsicas
2. Desarrollar un programa con herencia para 4 polgonos regulares donde se determine,
rea y permetro
Para la casa
1. Desarrollar un programa con herencia para las siguientes figuras

Ing. Fredy Salas Merino

6/6