SlideShare ist ein Scribd-Unternehmen logo
1 von 21
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
PROGRAMACION ORIENTADA A OBJETOS
• OBJETOS:
Un objeto es la ocurrencia de algo que existe en el mundo real. Los
objetos son instancias de la conceptualización de un modelo que alguien
construyó como una definición. Ejemplo:
Todos las bicicletas (cada una un objeto) se fabricaron en base a un
modelo (diseño o concepto). La idea (concepto) ayudó a construir varias
de sus instancias.
Podríamos decir que la Clase es un molde del cual se fabrican las
instancias, es decir todas las bicicletas que vemos.
• CLASES:
Como se esgrimió en el punto anterior, todo lo que nos rodea está
constituido de objetos. Una clase es la definición conceptual de uno o
varios objetos similares. Así por ejemplo: Juan tiene una bicicleta, Pedro
tiene otra y María lo propio. Aunque todos ellos tienen una bicicleta con
prestaciones diferentes, el hecho es que para que cada uno de ellos
posea una alguien tuvo que entender qué es, cómo es y cómo funciona
una bicicleta, de tal modo que diremos que armó un modelo a través de
un diseño de ingeniería.
En cuestiones de software dicho modelo se plasmaría en un plano de
ingeniería orientado al software como:
Partes de una Clase:
Nombre de la Clase
Atributos o Campos de la Clase
Operaciones de la Clase
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
Bicicleta
Marca:Cadena
Color:Enum(R,V,Am,Az,….)
Peso:Real
Precio:Real
Cambio_Actual:Entero
Cantidad_Cambios:Entero
Tipo_aros:Enum(14,16,18)
….
Montar()
Frenar(Peso,Cambio_Actual,
Cantidad_Cambios)
Cambiar(Cambio_Actual,
Nuevo_Cambio)
…
Al plasmar el modelo de la figura anterior estamos indicando que
atributos tendrán y que harán (operaciones) todas las bicicletas que se
fabricarán a partir de ese diseño conceptual. Por supuesto todas tendrán
las mismas características o atributos (marca, precio, color, cantidad de
cambios, etc) y todas permitirán maniobrar, equilibrar, cambiar velocidad,
frenar, etc.
Podríamos decir que la Clase es un molde del cual se fabrican las
instancias, es decir todas las bicicletas que vemos. Es decir, las bicicletas
de Pedro, Juan y María han salido del mismo concepto. Eso es una clase.
Hay clases que fácilmente pueden ser identificadas derivadas de objetos
físicos y tangibles (Vehículo, Persona, Computadora, etc); sin embargo,
habrán clases que no las podremos distinguir con facilidad, y con aquellas
que responden a definiciones creadas por el ser humano, como por
ejemplo: Venta, Pago, Descuento, Contrato, etc.
Como dijimos anteriormente las clases pueden abarcar de toda aquella
instancia que viene del mundo real; sin embargo, en mi experiencia para
una mayor comprensión y como ayuda auxiliar (no es la única y tampoco
es obligatoria) distinguiremos las clases en los siguientes grupos:
1. Seres Vivos (personas, animales, plantas)
2. Documentos.
3. Conceptos definidos por las personas.
4. Objetos físicos a los cuales se les puede dar una definición como
clase.
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
I.Seres Vivos:
Docente Alumno
Nombres:cadena
Apellidos:cadena
Edad:Entero
Dirección:cadena
Sexo:Enum(M,F)
Fecha_Nac:Fecha
Fecha_Inic_Contr:Fecha
Fecha_Fin_Contr:Fecha
Fecha_Titulo:Fecha
Nro_Horas:Entero
Firmar_Contrato(Fecha_Inic_
Contr, Fecha_Fin_Contr)
Mostrar_Sexo()
Calcular_Sueldo(Nro_Horas)
Calcular_Años_Exp(Fecha_
Título)
Pez Eucalipto
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
II.Documentos.
Factura FUT
Nro_Factura:Entero
Fecha_Factura:Fecha
Sub_Total:Real
Igv: Real
Nombre_Cliente:Cadena
Ruc_Cliente:Cadena
Imprimir(Nro_Factura)
Mostrar(Nro_Factura)
Calcular_Igv(Sub_Total):Real
Calcular_Monto_Final(Sub_Tota,
Calcular_Igv(Sub_Total)):Real
Anular (Nro_Factura)
Voucher Acta
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
III.Conceptos definidos por las personas.
Pago Plato
Fecha_Programada:Fecha
Fecha_Pago:Fecha:
Concepto_Pago:Cadena
Monto_Pago:Decimal
Registrar_Pago(Fecha_
Pago, Concepto_Pago,
Monto_Pago)
Calcular_Pago(Monto_
Pago)
Calcular_Mora(Fecha_
Programada, Fecha_
Pago)
Impuesto Consulta_Médica
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
Punto
CoordenadaX
CoordenadaY
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
IV.Objetos físicos a los cuales se les puede dar una definición como
clase.
Laboratorio Radio
Piso:
Capacidad:
Tamaño:
CD
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
• PROGRAMACION ORIENTADA A OBJETOS:
Luís Joyanes Aguilar nos dice lo siguiente: “La programación orientada a
objetos permite una representación más directa del modelo del mundo
real en código…” (Joyanes Aguilar: 1998. Pág. 105)
• PILARES DE LA PROGRAMACION ORIENTADA A OBJETOS:
Para Grady Booch (Análisis y Diseño Orientado a Objetos:1994), los
cuatro elementos (propiedades) más importantes sin los cuales nuestros
modelos no serían orientados a objetos son:
A. ABSTRACCIÒN:
Al momento de definir una Clase dijimos que esta la conceptualización
de instancias del mismo (Objetos) del mundo real. La pregunta es ¿y
cómo se pasa del mundo real a un concepto?, es decir, de instancias
concretas a un modelo conceptual, la respuesta es la Abstracción.
Objetos Clase
“La abstracción se centra en la vista externa del objeto, de modo que
sirva para separar el comportamiento esencial de un objeto, de su
implementación. Definir una abstracción (o hacer uso de ella para
definir una clase) significa describir una entidad del mundo real
(objeto), no importa lo compleja que pueda ser, y a continuación hacer
su implementación en un programa (lenguaje de programación)”. Luís
Joyanes Aguilar: 6ta. Edición-Pág. 107.
ABSTRAC
CION
ABSTRAC
CION
COMPORTAMIENTO
(operaciones o métodos)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
¿Qué hace
la clase?
¿Cómo lo hace
la clase?
B. ENCAPSULACIÒN:
Una vez que se ha abstraído una clase, debe encapsularse (asegurar)
que el contenido de la información de un objeto (instancia de la clase)
esté protegida (private) y oculta al exterior. Se encapsula haciendo
pública los atributos (también llamados campos)mediante el
modificador “public”, y por otro lado se encapsula el modo (manera o
contenido) como los métodos trabajan lo que en su definición dicen
hacer, pero son ellos mismos los que comunican a la clase con e
exterior.
Asimismo, debemos
Así por ejemplo en el caso de la bicicleta (ver figura) tenemos el
método Montar. Al dueño de la bicicleta le interesa que la bicicleta le
permita subirse al mismo, el còmo la bicicleta se las arregla para
hacerlo posible queda oculto (caja negra) al usuario.
IMPLEMENTACION
(código de los métodos)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
Entonces diremos que la abstracción de la que hablamos antes se
refiere a entender el concepto de lo que se quiere modelar como clase
y la implementación del mismo por medio de interfaces (parte pública
– public – de atributos y métodos (o también llamadas operaciones o
módulos) que la clase realiza.
C. MODULARIDAD:
Una clase puede realizar o servir para múltiples efectos, pero todo no
puede ser realizado en conjunto o hecho al mismo tiempo. Existirán
ciertas operaciones que la clase realice en un determinado momento
pero no lo hará todo en el mismo lapso de tiempo. Además rompería
con el concepto de encapsulación y abstracción.
En el apartado anterior dijimos que la clase se comunica con el exterior
a través de interfaces (especie de compuertas de comunicación de la
clase), y que dichas interfaces son métodos; y son, precisamente esos
métodos o módulos los que expresan el concepto de modularidad, que
no es sino que cada método haga una parte de la funcionalidad total
de la clase cuando llegue a ser un objeto
Cada módulo o método seguirá conservando el concepto de
encapsulamiento.
Cabe decir que un mètodo puede usar a otro para llevar a cabo su
funcionalidad.
D. POLIMORFISMO:
Bicicleta
private:Marca:Cadena
private:Color:Enum(R,V,Am,Az,….)
private:Peso:Real
private:Precio:Real
private:Cambio_Actual:Entero
private:Cantidad_Cambios:Entero:Entero
private:Tipo_aros:Enum(14,16,18)
….
public:Marca
public:Color,
…
Constructor()
Montar()
Frenar(Peso,Cambio_Actual,
Cantidad_Cambios)
Cambiar(Cambio_Actual,
Nuevo_Cambio)
Destructor() …
Cada método es una
interface que
comunica
(encapsulando) el
exterior de la clase
con ella.
Parte pública
de la
Clase
Las propiedades
encapsulan los
atributos.
Parte privada.
Llamada Campos.
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
A CPersona la hemos definido como un concepto (clase) de persona a
la cual llamaremos Clase Padre. CTrabajador y CAutoridad son dos
conceptos de la realidad un trabajador cualesquiera y una autoridad
cualesquiera también.
Tanto CTrabajador como CAutoridad son tipos del tipo base
CPersona, por lo que heredan tanto los atributos como métodos del
Padre (CPersona).
Ahora aquí el concepto de polimorfismo: Tanto CTrabajador como
CAutoridad pagan impuestos, explicado por el concepto de herencia.
Pero sucede que un trabajador paga impuestos en base a un
porcentaje de su sueldo, 19%; y, una autoridad también paga
impuestos, pero del 10%. Al pagar ambos sus impuestos de distinta
manera y hacer uso de su definición (trabajador y autoridad) no dejan
de ser personas. En otras palabras CPersona llama al mètodo
Pagar_Impuestos() de la CTrabajador y lo usa como si fuera èl, de
igual modo CPersona llama al mètodo Pagar_Impuestos() y lo usa por
èl, y en ambos casos se comporta de diferente manera.
using System;
using System.Collections.Generic;
using System.Text;
namespace Archivos
{
//DEFINICION DE LA CLASE PADRE DENOMINADA CPersona:
public class CPersona
Cpersona
Nombres:string
Direccion:string
Edad:int
Sueldo:double
CTrabajador CAutoridad
Pagar_Impuesto()
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
{
public string nombres;
public string direccion;
public int edad;
public string Nombres
{
get { return this.nombres;}
set { this.nombres = value; }
}
public string Direccion
{
get { return this.direccion; }
set { this.direccion = value; }
}
public int Edad
{
get { return this.edad; }
set { this.edad = value; }
}
public CPersona()
{
this.nombres="";
this.direccion="";
this.edad=0;
}
public CPersona(string Nombres, string Direccion, int
Edad)
{
this.nombres = Nombres;
this.direccion = Direccion;
this.edad = Edad;
}
//Tanto CAutoridad como CTrabajador tienen el Mètodo
Pagar_Impusto()
public virtual void Pagar_Impuesto()
{
Console.WriteLine("Edad aumentada en 1 es:
{0}",this.edad++);
}
}
//DEFINICION DE LA CTrabajador en la que se define
la //“herencia” de la Clase CPersona:
public class CTrabajador : CPersona
{
public double sueldo;
public double Sueldo
{
get { return this.sueldo; }
set { this.sueldo = value; }
}
public CTrabajador(string Nombres, string Direccion, int
Edad, double Sueldo):base()
{
this.sueldo=Sueldo;
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
}
public override void Pagar_Impuesto()
{
Console.WriteLine("El impuesto del Trabajador de S/.
{0} es = {1}", this.Sueldo, this.Sueldo * 0.19);
}
}
//DEFINICION DE LA CAutoridad en la que se define
la //“herencia” de la Clase CPersona:
public class CAutoridad : CPersona
{
public double sueldo;
public double Sueldo
{
get { return this.sueldo; }
set { this.sueldo = value; }
}
public CAutoridad(string Nombres, string Direccion, int
Edad, double Sueldo): base()
{
this.sueldo = Sueldo;
}
//Tanto CAutoridad como CTrabajador tienen el Mètodo
Pagar_Impusto()
public override void Pagar_Impuesto()
{
this.Edad++;
Console.WriteLine("El impuesto de la Autoridad de
S/. {0} es = {1}", this.Sueldo,this.Sueldo*0.10);
}
}
//AQUÍ VEREMOS EL USO DEL CONCEPTO DE POLIMORFISMO:
public class Polimorfismo
{
static void Main()
{
//Cp es una instancia directa del mismo tipo
//CPersona.
CPersona Cp = new CPersona();
Cp.Pagar_Impuesto();
//Una instancia de la Clase CPersona (Cp) toma el
//control de una instancia de la clase CTrabajador.
CPersona Ct = new CTrabajador("Omar Loaiza
Jara","Cusco",30,1000);
//Una instancia de la Clase CPersona (Ca) toma el
//control de una instancia de la clase CAutoridad.
Cp.Pagar_Impuesto();
CPersona Ca = new CAutoridad("Juan Salas Carrión",
"Arequipa", 45, 1500);
Ca.Pagar_Impuesto();
//Esta línea manadrà un error porque Sueldo no es
//parte de CAutoridad.
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
Console.WriteLine(Ca.Sueldo);
Console.ReadLine();
}
}
}
A los otros 4 elementos mencionados, Luis Joyanes Aguilar en otra obra
(Microsoft C++:1994 - Manaual de Bolsillo) agrega un elemento más:
CPersona asume el rol de CTrabajador para Pagar_;puesto().
CPersona asume el rol de CTAutoridad para Pagar_;puesto().
Esto se explica porque la Clase Padre puede asumir el rol de
cualquiera de sus hijos, pero no llega a ser al fin y al cabo ninguno
de los dos. Es por ello que Ca.Sueldo mandará error.
Otro ejemplo simple de polimorfismo puede darse en una oficina
cuando un Gerente (padre) a otros Gerentes de menor rango a su
cargo. Si uno de ellos no asiste a laborar, el Gerente (padre) tiene
que hacer las labores de ese Gerente (hijo), aunque nunca llegará ha
ser en esencia al cual reemplaza.
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
Implemente otro ejemplo en código C#:
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
UNIVERSIDAD PERUANA UNION
FACULTAD DE INGENIERIA Y ARQUITECTURA
EAP. INGENIERIA DE SISTEMAS
Ing. Omar L. Loaiza Jara (2014-I)
E. REUTILIZACIÓN:
Una vez que una clase se ha abstraído y procedido a implementar en
Lenguaje de Programación, ésta puede ser distribuida otros
programadores para que los utilicen, o simplemente a través de su
instanciación cuando se programa. El código es portable y se puede
volver a usar.
• TIPOS ABSTRACTOS DE DATOS NO FINITOS O DINÁMICOS EN
MEMORIA:
Hasta el momento se han visto Tipos Abstractos de Datos, los cuales
pueden ser: Arreglos, Enumeraciones y Estructuras (Ver página No. 7).
Pero también hemos visto que una vez declaradas y puesta en marcha en
la memoria de la computadora ocupan un espacio limitado en la RAM, y
cada vez que queramos usar otro TAD estático deberemos crear otro.
¿Cómo manejar dinámicamente los Tipos Abstractos de Datos, de tal
modo que podamos usar las estructuras de datos que definamos sin
límites (salvo la capacidad del computador) en la RAM?, la respuesta es a
través de los Tipos Abstractos de Datos Dinámicos:
A. Listas.:
B. Pilas.
C. Colas.
D. Árboles.
E. Otros (Ver página No. 7)
Esto lo veremos en secciones posteriores.
TIPOS
ABSTRACT
OS DE
DATOS
ESTRATICO
S
DINAMICOSARREGLOSESTRUC
TURAS
ENUME
RADOS
LISTASPILASSCOLASSARBOLESGRAFICOSARCHIVOS

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (18)

Que es slideshare
Que es slideshareQue es slideshare
Que es slideshare
 
P.1 AAI - EXPLORACIÓN DE NUEVOS MEDIOS
P.1 AAI  - EXPLORACIÓN DE NUEVOS MEDIOSP.1 AAI  - EXPLORACIÓN DE NUEVOS MEDIOS
P.1 AAI - EXPLORACIÓN DE NUEVOS MEDIOS
 
DICV - BharatBenz Produktpremiere in Hyderabad.pdf
DICV - BharatBenz Produktpremiere in Hyderabad.pdfDICV - BharatBenz Produktpremiere in Hyderabad.pdf
DICV - BharatBenz Produktpremiere in Hyderabad.pdf
 
EDUCACIÓN AMBIENTAL: UNA HERRAMIENTA PARA LA FORMACIÓN DEL CIUDADANO CONSCIEN...
EDUCACIÓN AMBIENTAL: UNA HERRAMIENTA PARA LA FORMACIÓN DEL CIUDADANO CONSCIEN...EDUCACIÓN AMBIENTAL: UNA HERRAMIENTA PARA LA FORMACIÓN DEL CIUDADANO CONSCIEN...
EDUCACIÓN AMBIENTAL: UNA HERRAMIENTA PARA LA FORMACIÓN DEL CIUDADANO CONSCIEN...
 
Herramientas digitales
Herramientas digitalesHerramientas digitales
Herramientas digitales
 
pi966.pdf
pi966.pdfpi966.pdf
pi966.pdf
 
Diseño curricular
Diseño curricularDiseño curricular
Diseño curricular
 
Biología 4ºesoa 2
Biología 4ºesoa 2Biología 4ºesoa 2
Biología 4ºesoa 2
 
practica_1 NNTT
practica_1 NNTTpractica_1 NNTT
practica_1 NNTT
 
Reposteria 10
Reposteria 10Reposteria 10
Reposteria 10
 
Modelos de base de datos
Modelos de base de datos Modelos de base de datos
Modelos de base de datos
 
Escuela normal no proyecto de tatro
Escuela normal no proyecto de tatroEscuela normal no proyecto de tatro
Escuela normal no proyecto de tatro
 
Estructura del tpack
Estructura del tpackEstructura del tpack
Estructura del tpack
 
Nr. 71_Schulanfang_2010.pdf
Nr. 71_Schulanfang_2010.pdfNr. 71_Schulanfang_2010.pdf
Nr. 71_Schulanfang_2010.pdf
 
Desafíos quinto grado docente
Desafíos quinto grado docenteDesafíos quinto grado docente
Desafíos quinto grado docente
 
Unidad3.parabolahiperbola
Unidad3.parabolahiperbolaUnidad3.parabolahiperbola
Unidad3.parabolahiperbola
 
Blogger
BloggerBlogger
Blogger
 
Material descargable rap 2(1)
Material descargable rap 2(1)Material descargable rap 2(1)
Material descargable rap 2(1)
 

Ähnlich wie Poo teoria

Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013Edgar Rosas
 
Rsw investigacion
Rsw investigacionRsw investigacion
Rsw investigacionmmurcia57
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Programación Orientada a Objetos.pptx
Programación Orientada a Objetos.pptxProgramación Orientada a Objetos.pptx
Programación Orientada a Objetos.pptxandreaalfonso08
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfNoe Castillo
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A ObjetosHectorMamani
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosGabriel Mondragón
 
Presentación: tutorial y simulaciones
Presentación: tutorial y simulacionesPresentación: tutorial y simulaciones
Presentación: tutorial y simulacionesComunidadVirtual
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAiessanjuanbosco
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaJulio César Rojas Maza
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosMarines Ahuanlla
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datosJuan Moran Sanchez
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 

Ähnlich wie Poo teoria (20)

Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
Poo
PooPoo
Poo
 
Poo
PooPoo
Poo
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Rsw investigacion
Rsw investigacionRsw investigacion
Rsw investigacion
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programación Orientada a Objetos.pptx
Programación Orientada a Objetos.pptxProgramación Orientada a Objetos.pptx
Programación Orientada a Objetos.pptx
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdf
 
Metodologia omt
Metodologia omtMetodologia omt
Metodologia omt
 
DURANTE-Semana-7-POO.pdf
DURANTE-Semana-7-POO.pdfDURANTE-Semana-7-POO.pdf
DURANTE-Semana-7-POO.pdf
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Presentación: tutorial y simulaciones
Presentación: tutorial y simulacionesPresentación: tutorial y simulaciones
Presentación: tutorial y simulaciones
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datos
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 

Kürzlich hochgeladen

La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 

Kürzlich hochgeladen (20)

La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 

Poo teoria

  • 1. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) PROGRAMACION ORIENTADA A OBJETOS • OBJETOS: Un objeto es la ocurrencia de algo que existe en el mundo real. Los objetos son instancias de la conceptualización de un modelo que alguien construyó como una definición. Ejemplo: Todos las bicicletas (cada una un objeto) se fabricaron en base a un modelo (diseño o concepto). La idea (concepto) ayudó a construir varias de sus instancias. Podríamos decir que la Clase es un molde del cual se fabrican las instancias, es decir todas las bicicletas que vemos. • CLASES: Como se esgrimió en el punto anterior, todo lo que nos rodea está constituido de objetos. Una clase es la definición conceptual de uno o varios objetos similares. Así por ejemplo: Juan tiene una bicicleta, Pedro tiene otra y María lo propio. Aunque todos ellos tienen una bicicleta con prestaciones diferentes, el hecho es que para que cada uno de ellos posea una alguien tuvo que entender qué es, cómo es y cómo funciona una bicicleta, de tal modo que diremos que armó un modelo a través de un diseño de ingeniería. En cuestiones de software dicho modelo se plasmaría en un plano de ingeniería orientado al software como: Partes de una Clase: Nombre de la Clase Atributos o Campos de la Clase Operaciones de la Clase
  • 2. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) Bicicleta Marca:Cadena Color:Enum(R,V,Am,Az,….) Peso:Real Precio:Real Cambio_Actual:Entero Cantidad_Cambios:Entero Tipo_aros:Enum(14,16,18) …. Montar() Frenar(Peso,Cambio_Actual, Cantidad_Cambios) Cambiar(Cambio_Actual, Nuevo_Cambio) … Al plasmar el modelo de la figura anterior estamos indicando que atributos tendrán y que harán (operaciones) todas las bicicletas que se fabricarán a partir de ese diseño conceptual. Por supuesto todas tendrán las mismas características o atributos (marca, precio, color, cantidad de cambios, etc) y todas permitirán maniobrar, equilibrar, cambiar velocidad, frenar, etc. Podríamos decir que la Clase es un molde del cual se fabrican las instancias, es decir todas las bicicletas que vemos. Es decir, las bicicletas de Pedro, Juan y María han salido del mismo concepto. Eso es una clase. Hay clases que fácilmente pueden ser identificadas derivadas de objetos físicos y tangibles (Vehículo, Persona, Computadora, etc); sin embargo, habrán clases que no las podremos distinguir con facilidad, y con aquellas que responden a definiciones creadas por el ser humano, como por ejemplo: Venta, Pago, Descuento, Contrato, etc. Como dijimos anteriormente las clases pueden abarcar de toda aquella instancia que viene del mundo real; sin embargo, en mi experiencia para una mayor comprensión y como ayuda auxiliar (no es la única y tampoco es obligatoria) distinguiremos las clases en los siguientes grupos: 1. Seres Vivos (personas, animales, plantas) 2. Documentos. 3. Conceptos definidos por las personas. 4. Objetos físicos a los cuales se les puede dar una definición como clase.
  • 3. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) I.Seres Vivos: Docente Alumno Nombres:cadena Apellidos:cadena Edad:Entero Dirección:cadena Sexo:Enum(M,F) Fecha_Nac:Fecha Fecha_Inic_Contr:Fecha Fecha_Fin_Contr:Fecha Fecha_Titulo:Fecha Nro_Horas:Entero Firmar_Contrato(Fecha_Inic_ Contr, Fecha_Fin_Contr) Mostrar_Sexo() Calcular_Sueldo(Nro_Horas) Calcular_Años_Exp(Fecha_ Título) Pez Eucalipto
  • 4. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I)
  • 5. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) II.Documentos. Factura FUT Nro_Factura:Entero Fecha_Factura:Fecha Sub_Total:Real Igv: Real Nombre_Cliente:Cadena Ruc_Cliente:Cadena Imprimir(Nro_Factura) Mostrar(Nro_Factura) Calcular_Igv(Sub_Total):Real Calcular_Monto_Final(Sub_Tota, Calcular_Igv(Sub_Total)):Real Anular (Nro_Factura) Voucher Acta
  • 6. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I)
  • 7. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) III.Conceptos definidos por las personas. Pago Plato Fecha_Programada:Fecha Fecha_Pago:Fecha: Concepto_Pago:Cadena Monto_Pago:Decimal Registrar_Pago(Fecha_ Pago, Concepto_Pago, Monto_Pago) Calcular_Pago(Monto_ Pago) Calcular_Mora(Fecha_ Programada, Fecha_ Pago) Impuesto Consulta_Médica
  • 8. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) Punto CoordenadaX CoordenadaY
  • 9. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) IV.Objetos físicos a los cuales se les puede dar una definición como clase. Laboratorio Radio Piso: Capacidad: Tamaño: CD
  • 10. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I)
  • 11. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) • PROGRAMACION ORIENTADA A OBJETOS: Luís Joyanes Aguilar nos dice lo siguiente: “La programación orientada a objetos permite una representación más directa del modelo del mundo real en código…” (Joyanes Aguilar: 1998. Pág. 105) • PILARES DE LA PROGRAMACION ORIENTADA A OBJETOS: Para Grady Booch (Análisis y Diseño Orientado a Objetos:1994), los cuatro elementos (propiedades) más importantes sin los cuales nuestros modelos no serían orientados a objetos son: A. ABSTRACCIÒN: Al momento de definir una Clase dijimos que esta la conceptualización de instancias del mismo (Objetos) del mundo real. La pregunta es ¿y cómo se pasa del mundo real a un concepto?, es decir, de instancias concretas a un modelo conceptual, la respuesta es la Abstracción. Objetos Clase “La abstracción se centra en la vista externa del objeto, de modo que sirva para separar el comportamiento esencial de un objeto, de su implementación. Definir una abstracción (o hacer uso de ella para definir una clase) significa describir una entidad del mundo real (objeto), no importa lo compleja que pueda ser, y a continuación hacer su implementación en un programa (lenguaje de programación)”. Luís Joyanes Aguilar: 6ta. Edición-Pág. 107. ABSTRAC CION ABSTRAC CION COMPORTAMIENTO (operaciones o métodos)
  • 12. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) ¿Qué hace la clase? ¿Cómo lo hace la clase? B. ENCAPSULACIÒN: Una vez que se ha abstraído una clase, debe encapsularse (asegurar) que el contenido de la información de un objeto (instancia de la clase) esté protegida (private) y oculta al exterior. Se encapsula haciendo pública los atributos (también llamados campos)mediante el modificador “public”, y por otro lado se encapsula el modo (manera o contenido) como los métodos trabajan lo que en su definición dicen hacer, pero son ellos mismos los que comunican a la clase con e exterior. Asimismo, debemos Así por ejemplo en el caso de la bicicleta (ver figura) tenemos el método Montar. Al dueño de la bicicleta le interesa que la bicicleta le permita subirse al mismo, el còmo la bicicleta se las arregla para hacerlo posible queda oculto (caja negra) al usuario. IMPLEMENTACION (código de los métodos)
  • 13. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) Entonces diremos que la abstracción de la que hablamos antes se refiere a entender el concepto de lo que se quiere modelar como clase y la implementación del mismo por medio de interfaces (parte pública – public – de atributos y métodos (o también llamadas operaciones o módulos) que la clase realiza. C. MODULARIDAD: Una clase puede realizar o servir para múltiples efectos, pero todo no puede ser realizado en conjunto o hecho al mismo tiempo. Existirán ciertas operaciones que la clase realice en un determinado momento pero no lo hará todo en el mismo lapso de tiempo. Además rompería con el concepto de encapsulación y abstracción. En el apartado anterior dijimos que la clase se comunica con el exterior a través de interfaces (especie de compuertas de comunicación de la clase), y que dichas interfaces son métodos; y son, precisamente esos métodos o módulos los que expresan el concepto de modularidad, que no es sino que cada método haga una parte de la funcionalidad total de la clase cuando llegue a ser un objeto Cada módulo o método seguirá conservando el concepto de encapsulamiento. Cabe decir que un mètodo puede usar a otro para llevar a cabo su funcionalidad. D. POLIMORFISMO: Bicicleta private:Marca:Cadena private:Color:Enum(R,V,Am,Az,….) private:Peso:Real private:Precio:Real private:Cambio_Actual:Entero private:Cantidad_Cambios:Entero:Entero private:Tipo_aros:Enum(14,16,18) …. public:Marca public:Color, … Constructor() Montar() Frenar(Peso,Cambio_Actual, Cantidad_Cambios) Cambiar(Cambio_Actual, Nuevo_Cambio) Destructor() … Cada método es una interface que comunica (encapsulando) el exterior de la clase con ella. Parte pública de la Clase Las propiedades encapsulan los atributos. Parte privada. Llamada Campos.
  • 14. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) A CPersona la hemos definido como un concepto (clase) de persona a la cual llamaremos Clase Padre. CTrabajador y CAutoridad son dos conceptos de la realidad un trabajador cualesquiera y una autoridad cualesquiera también. Tanto CTrabajador como CAutoridad son tipos del tipo base CPersona, por lo que heredan tanto los atributos como métodos del Padre (CPersona). Ahora aquí el concepto de polimorfismo: Tanto CTrabajador como CAutoridad pagan impuestos, explicado por el concepto de herencia. Pero sucede que un trabajador paga impuestos en base a un porcentaje de su sueldo, 19%; y, una autoridad también paga impuestos, pero del 10%. Al pagar ambos sus impuestos de distinta manera y hacer uso de su definición (trabajador y autoridad) no dejan de ser personas. En otras palabras CPersona llama al mètodo Pagar_Impuestos() de la CTrabajador y lo usa como si fuera èl, de igual modo CPersona llama al mètodo Pagar_Impuestos() y lo usa por èl, y en ambos casos se comporta de diferente manera. using System; using System.Collections.Generic; using System.Text; namespace Archivos { //DEFINICION DE LA CLASE PADRE DENOMINADA CPersona: public class CPersona Cpersona Nombres:string Direccion:string Edad:int Sueldo:double CTrabajador CAutoridad Pagar_Impuesto()
  • 15. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) { public string nombres; public string direccion; public int edad; public string Nombres { get { return this.nombres;} set { this.nombres = value; } } public string Direccion { get { return this.direccion; } set { this.direccion = value; } } public int Edad { get { return this.edad; } set { this.edad = value; } } public CPersona() { this.nombres=""; this.direccion=""; this.edad=0; } public CPersona(string Nombres, string Direccion, int Edad) { this.nombres = Nombres; this.direccion = Direccion; this.edad = Edad; } //Tanto CAutoridad como CTrabajador tienen el Mètodo Pagar_Impusto() public virtual void Pagar_Impuesto() { Console.WriteLine("Edad aumentada en 1 es: {0}",this.edad++); } } //DEFINICION DE LA CTrabajador en la que se define la //“herencia” de la Clase CPersona: public class CTrabajador : CPersona { public double sueldo; public double Sueldo { get { return this.sueldo; } set { this.sueldo = value; } } public CTrabajador(string Nombres, string Direccion, int Edad, double Sueldo):base() { this.sueldo=Sueldo;
  • 16. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) } public override void Pagar_Impuesto() { Console.WriteLine("El impuesto del Trabajador de S/. {0} es = {1}", this.Sueldo, this.Sueldo * 0.19); } } //DEFINICION DE LA CAutoridad en la que se define la //“herencia” de la Clase CPersona: public class CAutoridad : CPersona { public double sueldo; public double Sueldo { get { return this.sueldo; } set { this.sueldo = value; } } public CAutoridad(string Nombres, string Direccion, int Edad, double Sueldo): base() { this.sueldo = Sueldo; } //Tanto CAutoridad como CTrabajador tienen el Mètodo Pagar_Impusto() public override void Pagar_Impuesto() { this.Edad++; Console.WriteLine("El impuesto de la Autoridad de S/. {0} es = {1}", this.Sueldo,this.Sueldo*0.10); } } //AQUÍ VEREMOS EL USO DEL CONCEPTO DE POLIMORFISMO: public class Polimorfismo { static void Main() { //Cp es una instancia directa del mismo tipo //CPersona. CPersona Cp = new CPersona(); Cp.Pagar_Impuesto(); //Una instancia de la Clase CPersona (Cp) toma el //control de una instancia de la clase CTrabajador. CPersona Ct = new CTrabajador("Omar Loaiza Jara","Cusco",30,1000); //Una instancia de la Clase CPersona (Ca) toma el //control de una instancia de la clase CAutoridad. Cp.Pagar_Impuesto(); CPersona Ca = new CAutoridad("Juan Salas Carrión", "Arequipa", 45, 1500); Ca.Pagar_Impuesto(); //Esta línea manadrà un error porque Sueldo no es //parte de CAutoridad.
  • 17. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) Console.WriteLine(Ca.Sueldo); Console.ReadLine(); } } } A los otros 4 elementos mencionados, Luis Joyanes Aguilar en otra obra (Microsoft C++:1994 - Manaual de Bolsillo) agrega un elemento más: CPersona asume el rol de CTrabajador para Pagar_;puesto(). CPersona asume el rol de CTAutoridad para Pagar_;puesto(). Esto se explica porque la Clase Padre puede asumir el rol de cualquiera de sus hijos, pero no llega a ser al fin y al cabo ninguno de los dos. Es por ello que Ca.Sueldo mandará error. Otro ejemplo simple de polimorfismo puede darse en una oficina cuando un Gerente (padre) a otros Gerentes de menor rango a su cargo. Si uno de ellos no asiste a laborar, el Gerente (padre) tiene que hacer las labores de ese Gerente (hijo), aunque nunca llegará ha ser en esencia al cual reemplaza.
  • 18. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) Implemente otro ejemplo en código C#:
  • 19. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I)
  • 20. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I)
  • 21. UNIVERSIDAD PERUANA UNION FACULTAD DE INGENIERIA Y ARQUITECTURA EAP. INGENIERIA DE SISTEMAS Ing. Omar L. Loaiza Jara (2014-I) E. REUTILIZACIÓN: Una vez que una clase se ha abstraído y procedido a implementar en Lenguaje de Programación, ésta puede ser distribuida otros programadores para que los utilicen, o simplemente a través de su instanciación cuando se programa. El código es portable y se puede volver a usar. • TIPOS ABSTRACTOS DE DATOS NO FINITOS O DINÁMICOS EN MEMORIA: Hasta el momento se han visto Tipos Abstractos de Datos, los cuales pueden ser: Arreglos, Enumeraciones y Estructuras (Ver página No. 7). Pero también hemos visto que una vez declaradas y puesta en marcha en la memoria de la computadora ocupan un espacio limitado en la RAM, y cada vez que queramos usar otro TAD estático deberemos crear otro. ¿Cómo manejar dinámicamente los Tipos Abstractos de Datos, de tal modo que podamos usar las estructuras de datos que definamos sin límites (salvo la capacidad del computador) en la RAM?, la respuesta es a través de los Tipos Abstractos de Datos Dinámicos: A. Listas.: B. Pilas. C. Colas. D. Árboles. E. Otros (Ver página No. 7) Esto lo veremos en secciones posteriores. TIPOS ABSTRACT OS DE DATOS ESTRATICO S DINAMICOSARREGLOSESTRUC TURAS ENUME RADOS LISTASPILASSCOLASSARBOLESGRAFICOSARCHIVOS