Академический Документы
Профессиональный Документы
Культура Документы
GRUPO 2
1) Defina Clase, Propiedades, Método y Objeto. Plantee un ejemplo donde pueda observar cada uno de
estos conceptos.
Clase: Una clase es un tipo de dato que contiene uno o más elementos llamados dato miembro, y cero, una
o más funciones que manipulan esos datos (llamados función miembro). Una clase se puede definir con una
estructura, una unión o una clase.
Propiedades: Son datos encapsulados dentro del objeto, junto con los métodos (programas) y las relaciones
(punteros a otros objetos).
Método: son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados
en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus
descendientes a través de la herencia.
Son una operación que realiza acceso a los datos. Es un programa procedimental o procedural escrito en
cualquier lenguaje, que está asociado a un objeto determinado y cuya ejecución sólo puede desencadenarse
a través de un mensaje recibido por éste o por sus descendientes.
Objeto: es una entidad lógica que contiene datos y un código especial que indica como manipular los datos.
Son construcciones de programación que se obtienen a partir de entidades llamadas clases.
Ejemplo: cuentas de un banco
2) Para las relaciones Jerárquicas Simples y Relaciones Jerárquicas Complejas realice los siguiente:
a) Defina y represente gráficamente.
b) Escriba la diferencia entre ellas.
c) Plantee un ejemplo real en el que se puede aplicar algunos de los tipos anteriores, el ejemplo
debe ser distinto al visto en la teoría.
Relaciones jerárquicas simples: es aquella en la que un objeto puede tener un solo padre.
AUTOMOVIL
COCHE CAMION
Relaciones jerárquicas complejas: es aquella en la que un hijo puede tener varios padres.
PERSONA
PROFESOR INVESTIGADOR
PROFESOR
UNIVERSITARIO
La diferencia entre estos dos tipos de relaciones es que, en la simple una clase hereda únicamente de otra (herencia
simple); la segunda tiene un comportamiento similar a la simple, con la diferencia de que una clase hija tiene uno o
más clases padres.
3) ¿Qué diferencia hay entre una relación “Es-un” y “Parte-de”?, plantee un ejemplo para cada uno
distinto al visto en la Teoría.
La diferencia radica es que la relación “Es-un” es una relación de especialización en este caso un objeto contiene la
definición de otro y añade comportamientos adicionales; en cambio la relación “Parte-de” hay objetos compuesto por
otros objetos, hay una relación de contenencia, en este caso un objeto es parte de otro cuando conserva su
independencia.
Ejemplo:
Parte – de
TECLADO COMPUTADORA
Es – un
TECLADO TECLAS
Objeto teclado:
Propiedades propias:
Conectado (indica un valor de verdad si está conectado con el pc)
Objeto Teclado:
Propiedades propias:
Conectado (indica un valor de verdad si está conectado con el pc)
5) Explique qué entiende por Encapsulamiento, Polimorfismo, Bajo Acoplamiento y Alta Cohesión. Mencione
un ejemplo de polimorfismo distinto al visto en la Teoría (Plantee un ejemplo en el que se utilice Herencia
Múltiple).
Encapsulamiento:
Los objetos son inaccesibles, e impiden que otros objetos, los usuarios, o incluso los programadores conozcan cómo
está distribuida la información o qué información hay disponible.
Las peticiones de información a un objeto, deben realizarse a través de mensajes dirigidos a él, con la orden de
realizar la operación pertinente. La respuesta a estas órdenes será la información requerida, siempre que el objeto
considere que quien envía el mensaje está autorizado para obtenerla.
El hecho de que cada objeto sea una cápsula facilita enormemente que un objeto determinado pueda ser
transportado a otro punto de la organización, o incluso a otra organización totalmente diferente que precise de él.
Polimorfismo:
Se refiere a la capacidad que tiene el objeto para hacer lo adecuado después de haber recibido un mensaje,
independientemente de quién lo haya enviado. Hay que tener en cuenta que el polimorfismo se mueve a través de la
herencia, dicho de otra forma trata de hacer posible enviar mensajes genéricos a objetos y que éstos realicen lo
estipulado de acuerdo a su codificación interna, es decir, la acción varía en relación al receptor del mensaje.
Ejemplo: Se desea enviar un mensaje a dos objetos distintos (Triángulo y Rectángulo) los cuales podrían ser
descendientes de la clase polígono, sin embargo cuando el triángulo reciba la orden área, la ejecución de este
método se obtendrá a partir de (b*h)/2 en cambio si se activa el mismo método para el rectángulo el valor se
calculará a partir de ð *r2 , aún cuando ambos objetos recibieron la misma orden.
Bajo Acoplamiento:
Tener las clases lo menos ligadas entre sí que se pueda, de tal forma que, en caso de producirse una modificación
en alguna de ellas, tenga la mínima repercusión posible en el resto de clases, potenciando la reutilización, y
disminuyendo la dependencia entre las clases
Alta Cohesión:
La información que almacena una clase debe de ser coherente y debe estar, en la medida de lo posible, relacionada
con la clase.
Herencia múltiple:
Lenguajes orientados a objetos, como C++, java y otros permiten herencias múltiples, lo que significa que una clase
puede heredar los atributos de otras dos superclases. Este método puede utilizarse para agrupar atributos y métodos
desde varias clases dentro de una sola.
6) Represente las clases a partir de los objetos que se indican a continuación, identifique las propiedades y
métodos asociadas a los objetos, indique las relaciones entre ellos.
Alumno
Profesor
Persona
PERSONA
Nombre
Apellido
DNI
Domicilio
Teléfono
FecNac
Edad
Talla
getNombre()
getApellido()
getDNI()
getDomicilio()
getTelefono()
getFecNac()
getEdad()
getEdad()
setNombre()
setApellido
setDNI()
setDomicilio()
setTelefono()
setFecNac()
setEdad()
SetTalla()
ALUMNO PROFESOR
LU IdProfesor
Carrera Materia
Materia Antigüedad
PromConApl Area
PromSinApl getProfesor()
PorcCarreAprob getMateria()
getLU( ) getAntiguedad()
getCarrera() getArea()
getMateria() setIdProfesor()
getPromConApl() setMateria()
getPromSinApl() setAntiguedad()
getPorcCarreAprob() setArea()
setLU( )
setCarrera()
setMateria()
setPromConApl()
setPromSinApl()
setPorcCarreAprob()
7) Utilice un Lenguaje Orientado a Objetos (Java, C++, C Sharp) y codifique las clases y relaciones
representadas en el punto anterior en dos lenguajes distintos: las clases Persona y Alumno en un
lenguaje y las clases Persona y Profesor en otro lenguaje.
JAVA
package modelotp4;
Clase Persona
package modelotp4;
return domicilio;
}
public int getTelefono() {
return telefono;
}
public String getFechnac() {
return fech_nac;
}
public int getEdad() {
return edad;
}
public String getTalla() {
return talla;
}
Clase alumno
package modelotp4;
}
public int getLu() {
return lu;
}
public String getCarrera() {
return carrera;
}
}
C++
#include <iostream>
#include <stdlib.h>
#include <conio.h>
class Persona
{
public:
string Nombre;
string Apellido;
int dni;
string Domicilio;
int Telefono;
string FecNac;
int Edad;
string Talla;
public:
Persona(string _Nombre, string _Apellido, int _dni,string _Domicilio,
int _Telefono, string _FecNac,int _Edad, string _Talla)
Suruguay, Robles, Leañez, Vázquez, Fernández Página 9 de 11
MDP y PC 2018 Trabajo Practico N° 4 “Programación Orientada a Objetos”
{
Nombre=_Nombre;
Apellido=_Apellido;
dni=_dni;
Domicilio=_Domicilio;
Telefono=_Telefono;
FecNac=_FecNac;
Edad=_Edad;
Talla=_Talla;
}
string GetNombre(){return Nombre;}
string GetApellido(){return Apellido;}
int GetDni(){return dni;}
string GetDomicilio(){return Domicilio;}
int GetTelefono(){return Telefono;}
string GetFecNac(){return FecNac;}
int GetEdad(){return Edad;}
string GetTalla(){return Talla;}