SlideShare una empresa de Scribd logo
PROGRAMACION 
ORIENTADA A OBJETOS 
Visual Basic .NET 
CESAR DAVID FERNANDEZ GRUESO 
“Paradigma eficaz al servicio de la abstracción de problemas reales” 
SENA Regional Cauca 
CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL 
TECNICO EN PROGRAMACION DE SOFTWARE 
Vigencia 2009 - 2010
DEFINICION 
 La programación orientada a objetos no debe confundirse con un lenguaje 
programación orientado a objetos. 
 La POO es un paradigma, es otra forma de pensar , es una filosofía única a diferencia 
de un Lenguaje de Programación Orientado a Objetos el cual existen muchos y 
permiten hacer uso de ese paradigma con el animo de solucionar problemas reales 
mediante la abstracción de los diferentes agentes, entidades o elementos que actúan 
en el planteamiento de un problema. 
 Ejemplo: 
a. Problema: Una persona necesita ver televisión. 
b. Solución: Existen 3 elementos o agentes que se pueden abstraer del problema: 
ELEMENTO DESCRIPCION 
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un 
comportamiento: Ver , escuchar, hablar, etc. 
Control 
Remoto 
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar 
señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. 
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un 
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION 
 En el problema planteado se especifican 3 elementos involucrados. Cada elemento 
posee sus propias características y sus propios comportamientos. En POO a estos 
elementos se les conoce bajo el nombre de OBJETOS. 
 En POO a las características que identifican a cada objeto se le denominan 
ATRIBUTOS y a los comportamientos se les denominan METODOS. 
ELEMENTO DESCRIPCION 
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un 
comportamiento: Ver , escuchar, hablar, etc. 
Control 
Remoto 
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar 
señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. 
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un 
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION DE CLASE 
 Una CLASE es una plantilla mediante la cual se crean los diferentes objetos 
requeridos para la solución del problema. Los Objetos son instancias de las clases. 
 Las clases son a los objetos como los tipos de datos son a las variables. 
 Ejemplo: Se puede crear un objeto llamado Cesar. Este objeto es creado a partir de la 
clase Persona. Se puede crear otro objeto llamado: Patricia el cual pertenece a la 
clase Persona. Significa que a partir de la clase se pueden crear los objetos que se 
deseen. 
 Ejemplo: Se puede crear un objeto llamado LCD LG, el cual pertenece a la clase 
Televisor. 
ELEMENTO DESCRIPCION 
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un 
comportamiento: Ver , escuchar, hablar, etc. 
Control 
Remoto 
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar 
señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. 
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un 
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION DE OBJETO 
 Es una instancia de una clase. Por lo tanto, los objetos hacen uso de los Atributos 
(variables) y Métodos (Funciones y Procedimientos) de su correspondiente Clase. 
 Es una variable de tipo clase. Por ejemplo: El objeto Cesar es un objeto de tipo Clase: 
Persona. 
 Permiten modelar entidades del mundo real. Por ejemplo: LCD LG pertenece a la 
clase Televisor. Resumiendo la clase televisor seria: 
ATRIBUTOS 
tipo. De tipo cadena. 
Resolución. De tipo cadena 
Marca. De tipo cadena. 
METODOS 
Emitir_Señal ( ) 
Emitir_Audio ( ) 
Decodificar_Señal (señal_entrada) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION DE OBJETO 
 Como se puede observar un objeto a través de su clase esta compuesto por 2 partes: 
Atributos o propiedades y Métodos que definen el comportamiento de dicho objetos a 
partir de sus atributos. 
 Los atributos y los métodos pueden ser o no accedidos desde afuera dependiendo de 
la solución a plantear. Por lo general los atributos siempre se ocultan al exterior y 
algunos métodos quedan visibles al exterior para convertirse en la interfaz del objeto. 
Encapsulamiento. 
ATRIBUTOS 
tipo. De tipo cadena. 
Resolución. De tipo cadena 
Marca. De tipo cadena. 
METODOS 
Emitir_Señal ( ) 
Emitir_Audio ( ) 
Decodificar_Señal (señal_entrada) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION DE OBJETO 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
IDENTIFICACION DE 
OBJETOS 
 La primera tarea a la que se enfrenta un diseñador o programador en POO 
es la identificación e los objetos inmersos en el problema a solucionar. 
 Los objetos generalmente se ubican en las siguientes categorías: 
Cosas Tangibles: Avión, auto, producto, insumo. 
Roles : gerente, cliente, vendedor, auxiliar, empleado. 
Organizaciones o entidades: Empresa, colegio, proveedor, EPS. 
Cosas intangibles: Vuelos, Servicios, Materias, programas. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
EJEMPLO DE OBJETO 
OTRO EJEMPLO: 
 Se pretende modelar un objeto llamado CARRO el cual existe en el mundo real. Este 
objeto tiene unos atributos o variables: Vel_Max, Color, No_chasis, No_puertas, 
No._llantas, tipo. Unos comportamientos y métodos: Acelerar (velocidad), Frenar 
(velocidad), mover_cambio (No_cambio), 
CLASE CARRO 
ATRIBUTOS 
Vel_max. De tipo decimal. 
Color. De tipo cadena 
No_chasis. De tipo cadena. 
No_puertas. De tipo entero. 
No_llantas. De tipo entero. 
METODOS 
Acelerar (Velocidad) 
Frenar (Velocidad) 
Mover_cambio (No_cambio) 
Girar_derecha ( ) 
Girar_izquierda ( ) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
EJEMPLO CLASE 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
EJEMPLO OBJETOS 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CARACTERISTICAS 
IMPORTANTES DE LA POO 
 ABSTRACCION. 
 ENCAPSULAMIENTO. 
 MENSAJES. 
 POLIMORFISMO. 
 HERENCIA. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
ABSTRACCION 
 Es una de las principales características a tener en cuenta ya que 
permite vislumbrar los diferentes agentes u objetos implicados en 
un problema. 
 Captar los atributos y métodos que conforman cada objeto y la 
relación que existen entre ellos. 
 Resolver el problema en subproblemas donde cada objeto se haga 
cargo de cada subproblema. 
 La comunicación entre objetos generan la solución general a todo 
el problema. (Divide y vencerás). 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
ENCAPSULAMIENTO 
 Esta propiedad permite la ocultación de la información es decir permite 
asegurar que el contenido de un objeto se pueda ocultar del mundo 
exterior dejándose ver lo que cada objeto necesite hacer publico. 
 Ejemplo: Una persona desea llevar su televisor descompuesto para que 
sea arreglado por un técnico. 
persona técnico 
Entregar ( ) 
Llevar ( TV ) 
•Ver_TV( ) 
•Escuchar ( ) 
•Apagar ( ) 
•Prender ( ) 
•Llevar (TV) 
•Desatornillar ( ) 
•Diagnosticar ( ) 
•Reparar ( ) 
•Entregar ( ) as TV 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
ENCAPSULAMIENTO 
 Esta propiedad permite la ocultación de la información es decir permite 
asegurar que el contenido de un objeto se pueda ocultar del mundo 
exterior dejándose ver lo que cada objeto necesite hacer publico. 
 Ejemplo: Una persona desea llevar su televisor descompuesto para que 
sea arreglado por un técnico. 
persona técnico 
Entregar ( ) 
Llevar ( TV ) 
•Ver_TV( ) 
•Escuchar ( ) 
•Apagar ( ) 
•Prender ( ) 
•Llevar (TV) 
•Desatornillar ( ) 
•Diagnosticar ( ) 
•Reparar ( ) 
•Entregar ( ) as TV 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
MENSAJES 
 Un objeto sin comunicación con el mundo exterior no es de utilidad. La idea no es 
crear islas de objetos si no objetos relacionados. 
 Los objetos interactúan entre ellos mediante mensajes. 
 Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones o 
procedimientos miembro (Métodos de B), el objeto A manda un mensaje al 
objeto B. 
persona técnico 
Entregar ( ) 
Llevar ( TV ) 
•Desatornillar ( ) 
•Diagnosticar ( ) 
•Reparar ( ) 
•Entregar ( ) as TV 
•Ver_TV( ) 
•Escuchar ( ) 
•Apagar ( ) 
•Prender ( ) 
•Llevar (TV) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
POLIMORFISMO 
 Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan 
información de manera diferente de acuerdo al objeto que lo contenga. 
Objeto 2 
function Sumar (a,b) 
Sumar = a + b 
End Function 
Objeto 1 
Objeto2.sumar (a,b) 
Objeto3.sumar (a,b,c) 
Objeto 3 
function Sumar (a,b,c) 
Sumar = a + b + c 
End Function 
El objeto 1 invoca a 2 métodos que llevan 
el mismo nombre pero funcionan diferente 
en cada objeto. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
POLIMORFISMO 
 Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan 
información de manera diferente de acuerdo al objeto que lo contenga. 
objeto 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
HERENCIA 
 El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. 
Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero 
además pueden introducir características particulares propias que las diferencian. 
ANIMAL 
MAMIFERO MAMIFERO 
MAMIFERO MAMIFERO MAMIFERO MAMIFERO 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
MODIFICADORES DE 
ACCESO 
 Permiten controlar la forma de acceder a los atributos y métodos 
encapsulados dentro de una clase. 
 TIPOS: 
PUBLICO: Cualquier atributo o método Publico puede se accedido desde fuera 
de la clase. Se representa por (+). 
PRIVADO: Cualquier atributo o método Privado NO puede se accedido desde 
fuera de la clase. Solo puede ser utilizado internamente en la clase. Se 
representa por ( - ). 
PROTEGIDO: Cualquier atributo o método Protegido puede ser heredado por 
otra clase pero en esta ultima se convierten en elementos Privados. Se 
representa por ( # ). 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
MODIFICADORES DE 
ACCESO 
Cliente 
- Nombre: Cadena 
- Teléfono: Entero 
- Dirección: Cadena 
- Fecha_nacimiento 
+ FijarNombre( ) 
+ FijarTel ( ) 
+ FijarDir ( ) 
+ FijarFechaNac ( ) 
- CalcularEdad( ) 
+ ObtenerEdad ( ) 
# ObtenerDatos ( ) 
Cli : cliente 
Cli.FijarNombre(“Juan”) 
Cli.FijarTel(8231451) 
Registrar_BD 
+ Registrar ( ) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
UML 
(Unified Modeling Language) 
 UML es un lenguaje de modelado para especificar el análisis y diseño de 
sistemas orientados a objetos. 
 Permite diagramas los requerimientos funcionales del sistemas : Diagrama 
de Casos de Uso. 
 Permite abstraer mediante diagramas específicos las diferentes clases y 
objetos con sus respectivos atributos y métodos logrando especificar 
claramente las correspondientes relaciones o envió de mensajes entre 
objetos. Diagramas de Clases, Objetos y de Secuencia. 
 Permite visualizar los diferentes componentes donde se pondrá en 
funcionamiento el nuevo sistemas orientado a objetos. Diagramas de 
Despliegue. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
UML 
DIAGRAMA DE CASOS DE USO 
 Busca plasmar los requerimientos funcionales del nuevo sistema para cada 
uno de los usuarios. 
Sistema de Gestion de Proyectos 
(SGP) 
Administrador 
proyectos 
Validar Acceso 
Sistema de Gestion de Proyectos 
(SGP) 
Crear Proyecto 
Asignar insumo 
Administrador 
proyectos 
Asignar integrante 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
UML 
DIAGRAMA DE CLASES 
 Busca plasmar los elementos que intervienen en la aplicación ya sean los 
agentes que facilitan la comunicación con el usuario o los pertenecientes a 
la lógica del negocio. Describe los atributos y métodos de cada clase a 
implementar. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
UML 
DIAGRAMA DE SECUENCIA 
 Permiten abstraer la secuencia de mensajes entre objetos a través del 
tiempo. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
UML 
DIAGRAMA DE DESPLIEGUE 
 Integra los componentes Hardware y Software del sistema. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLASES 
VISUAL BASIC .NET 
 Para crear una clase en visual Basic .NET debemos utilizar la 
palabra reservada Class seguida den nombre de dicha clase a 
construir: 
Class Cliente 
instrucciones 
End Class 
 Por lo tanto, todo lo que se conforme como instrucciones estará 
encapsulado en la Clase Cliente. 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLASES 
VISUAL BASIC .NET 
 Creación de una clase Cliente con algunos elementos 
encapsulados: 
Class Cliente 
Public Nombre As String 
Public Sub MostrarNombre() 
MsgBox("El nombre del cliente: ", Nombre) 
End Sub 
End Class 
 Para poder utilizar valores a las propiedades o variables 
que define la clase y además, utilizar los procedimientos y 
funciones encapsuladas debemos crear un Objeto Cliente: 
Dim Cli As Cliente 
Cli = new Cliente ( ) 
Dim Cli As new Cliente( ) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
OBJETOS 
VISUAL BASIC .NET 
 La clase: 
Class Cliente 
Public Nombre As String 
Public Sub MostrarNombre() 
MsgBox("El nombre del cliente: “ & Nombre) 
End Sub 
End Class 
 El objeto: Dim Cli As new Cliente( ) 
 Para acceder a las instrucciones mediante el objeto : 
Cli.Nombre = “Cesar Fernandez” 
Cli.MostrarNombre ( ) 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
HERENCIA Y POLIMORFISMO 
VISUAL BASIC .NET 
 Las clases: 
Class Cliente 
Public Nombre As String 
Public Sub MostrarNombre() 
MsgBox(Nombre) 
End Sub 
End Class 
Class ClienteMoroso 
Inherits Cliente ‘ HERENCIA 
Public Deuda As Decimal 
End Class 
 La clase: ClienteMoroso hereda los atributos y métodos públicos de la 
clase Cliente. 
Dim Cli As new Cliente( ) 
Dim CliM As new ClienteMoroso( ) 
Cli.Nombre = “Cesar David” 
CliM.Nombre = “Juan Jose” 
Cli.MostrarNombre( ) 
CliM.MostrarNombre( ) 
POLIMORFISMO 
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
MUCHAS GRACIAS 
PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS 
INQUIETUDES O DUDAS ? 
Ing. Cesar David Fernández Grueso. 
CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL 
SENA REGIONAL CAUCA

Más contenido relacionado

Similar a Poo 100618211643-phpapp01

Visual
VisualVisual
Programacion
ProgramacionProgramacion
Programacionelizabeth
 
Terminologia de la POO
Terminologia de la POOTerminologia de la POO
Terminologia de la POO
Jonathan Montes
 
Conceptos fundamentales de la programación
Conceptos fundamentales de la programaciónConceptos fundamentales de la programación
Conceptos fundamentales de la programación
Martin Pacheco
 
Visual basic-net
Visual basic-netVisual basic-net
Introducción a la tecnología multimedios
Introducción a la tecnología multimediosIntroducción a la tecnología multimedios
Introducción a la tecnología multimediosGiannina Núñez
 
Diplomado de android
Diplomado de androidDiplomado de android
Diplomado de android
Yordan Vasquez Chapoñan
 
Unidad II
Unidad IIUnidad II
Unidad II
Joss Marquez
 
1. tecnologiaorientadoaobjetos 120512102503-phpapp02
1. tecnologiaorientadoaobjetos 120512102503-phpapp021. tecnologiaorientadoaobjetos 120512102503-phpapp02
1. tecnologiaorientadoaobjetos 120512102503-phpapp02
fernandiho17
 
Computec modi
Computec modiComputec modi
Computec modi
Aleja Patiño
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for Beginners
Zaory Zaory
 
Formato proyecto productivo media técnica
Formato proyecto productivo media técnicaFormato proyecto productivo media técnica
Formato proyecto productivo media técnica
Dayron Garcia
 
Guia perifericos de entrada, salida y comunicacion
Guia perifericos de entrada, salida y comunicacionGuia perifericos de entrada, salida y comunicacion
Guia perifericos de entrada, salida y comunicaciondayanaroa11
 
Formato de proyecto productivo automail
Formato de proyecto productivo automailFormato de proyecto productivo automail
Formato de proyecto productivo automail
Andres Garcia
 
Formato proyecto productivo media técnica
Formato proyecto productivo media técnicaFormato proyecto productivo media técnica
Formato proyecto productivo media técnica
Dayron Garcia
 

Similar a Poo 100618211643-phpapp01 (20)

Clase2212
Clase2212Clase2212
Clase2212
 
Visual
VisualVisual
Visual
 
Programacion orientada
Programacion orientadaProgramacion orientada
Programacion orientada
 
Programacion
ProgramacionProgramacion
Programacion
 
Terminologia de la POO
Terminologia de la POOTerminologia de la POO
Terminologia de la POO
 
Programación oo
Programación ooProgramación oo
Programación oo
 
Programación oo
Programación ooProgramación oo
Programación oo
 
Conceptos fundamentales de la programación
Conceptos fundamentales de la programaciónConceptos fundamentales de la programación
Conceptos fundamentales de la programación
 
Visual basic-net
Visual basic-netVisual basic-net
Visual basic-net
 
Introducción a la tecnología multimedios
Introducción a la tecnología multimediosIntroducción a la tecnología multimedios
Introducción a la tecnología multimedios
 
Diplomado de android
Diplomado de androidDiplomado de android
Diplomado de android
 
Unidad II
Unidad IIUnidad II
Unidad II
 
1. tecnologiaorientadoaobjetos 120512102503-phpapp02
1. tecnologiaorientadoaobjetos 120512102503-phpapp021. tecnologiaorientadoaobjetos 120512102503-phpapp02
1. tecnologiaorientadoaobjetos 120512102503-phpapp02
 
Visualbasicnet 120216212821-phpapp01
Visualbasicnet 120216212821-phpapp01Visualbasicnet 120216212821-phpapp01
Visualbasicnet 120216212821-phpapp01
 
Computec modi
Computec modiComputec modi
Computec modi
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for Beginners
 
Formato proyecto productivo media técnica
Formato proyecto productivo media técnicaFormato proyecto productivo media técnica
Formato proyecto productivo media técnica
 
Guia perifericos de entrada, salida y comunicacion
Guia perifericos de entrada, salida y comunicacionGuia perifericos de entrada, salida y comunicacion
Guia perifericos de entrada, salida y comunicacion
 
Formato de proyecto productivo automail
Formato de proyecto productivo automailFormato de proyecto productivo automail
Formato de proyecto productivo automail
 
Formato proyecto productivo media técnica
Formato proyecto productivo media técnicaFormato proyecto productivo media técnica
Formato proyecto productivo media técnica
 

Más de Joselyn Aguirre

Presentacion del video (1)
Presentacion del video (1)Presentacion del video (1)
Presentacion del video (1)
Joselyn Aguirre
 
Fondo de-pantalla
Fondo de-pantallaFondo de-pantalla
Fondo de-pantalla
Joselyn Aguirre
 
Presentacion del video
Presentacion del videoPresentacion del video
Presentacion del video
Joselyn Aguirre
 
Como subir una_imagen_eclipse
Como subir una_imagen_eclipseComo subir una_imagen_eclipse
Como subir una_imagen_eclipse
Joselyn Aguirre
 
Presentación12
Presentación12Presentación12
Presentación12
Joselyn Aguirre
 
Presentación13
Presentación13Presentación13
Presentación13
Joselyn Aguirre
 
Presentación11 vejc
Presentación11 vejc Presentación11 vejc
Presentación11 vejc
Joselyn Aguirre
 
Tutoria
TutoriaTutoria
Programa5
Programa5Programa5
Programa5
Joselyn Aguirre
 

Más de Joselyn Aguirre (20)

Presentacion del video (1)
Presentacion del video (1)Presentacion del video (1)
Presentacion del video (1)
 
Fondo de-pantalla
Fondo de-pantallaFondo de-pantalla
Fondo de-pantalla
 
Presentacion del video
Presentacion del videoPresentacion del video
Presentacion del video
 
Video
VideoVideo
Video
 
Como subir una_imagen_eclipse
Como subir una_imagen_eclipseComo subir una_imagen_eclipse
Como subir una_imagen_eclipse
 
Presentación12
Presentación12Presentación12
Presentación12
 
Presentación13
Presentación13Presentación13
Presentación13
 
Programa14
Programa14Programa14
Programa14
 
Programa5
Programa5Programa5
Programa5
 
Presentación11 vejc
Presentación11 vejc Presentación11 vejc
Presentación11 vejc
 
Programa 10
Programa 10Programa 10
Programa 10
 
sPrograma 9
sPrograma 9sPrograma 9
sPrograma 9
 
Programa8
Programa8Programa8
Programa8
 
Programa4
Programa4Programa4
Programa4
 
Programa 6
Programa 6Programa 6
Programa 6
 
Tutoria
TutoriaTutoria
Tutoria
 
Programa5
Programa5Programa5
Programa5
 
Programa 6
Programa 6Programa 6
Programa 6
 
Programa 2
Programa 2Programa 2
Programa 2
 
Programa 1
Programa 1Programa 1
Programa 1
 

Último

TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 

Último (6)

TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 

Poo 100618211643-phpapp01

  • 1. PROGRAMACION ORIENTADA A OBJETOS Visual Basic .NET CESAR DAVID FERNANDEZ GRUESO “Paradigma eficaz al servicio de la abstracción de problemas reales” SENA Regional Cauca CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL TECNICO EN PROGRAMACION DE SOFTWARE Vigencia 2009 - 2010
  • 2. DEFINICION  La programación orientada a objetos no debe confundirse con un lenguaje programación orientado a objetos.  La POO es un paradigma, es otra forma de pensar , es una filosofía única a diferencia de un Lenguaje de Programación Orientado a Objetos el cual existen muchos y permiten hacer uso de ese paradigma con el animo de solucionar problemas reales mediante la abstracción de los diferentes agentes, entidades o elementos que actúan en el planteamiento de un problema.  Ejemplo: a. Problema: Una persona necesita ver televisión. b. Solución: Existen 3 elementos o agentes que se pueden abstraer del problema: ELEMENTO DESCRIPCION Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un comportamiento: Ver , escuchar, hablar, etc. Control Remoto Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 3. DEFINICION  En el problema planteado se especifican 3 elementos involucrados. Cada elemento posee sus propias características y sus propios comportamientos. En POO a estos elementos se les conoce bajo el nombre de OBJETOS.  En POO a las características que identifican a cada objeto se le denominan ATRIBUTOS y a los comportamientos se les denominan METODOS. ELEMENTO DESCRIPCION Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un comportamiento: Ver , escuchar, hablar, etc. Control Remoto Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 4. DEFINICION DE CLASE  Una CLASE es una plantilla mediante la cual se crean los diferentes objetos requeridos para la solución del problema. Los Objetos son instancias de las clases.  Las clases son a los objetos como los tipos de datos son a las variables.  Ejemplo: Se puede crear un objeto llamado Cesar. Este objeto es creado a partir de la clase Persona. Se puede crear otro objeto llamado: Patricia el cual pertenece a la clase Persona. Significa que a partir de la clase se pueden crear los objetos que se deseen.  Ejemplo: Se puede crear un objeto llamado LCD LG, el cual pertenece a la clase Televisor. ELEMENTO DESCRIPCION Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un comportamiento: Ver , escuchar, hablar, etc. Control Remoto Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 5. DEFINICION DE OBJETO  Es una instancia de una clase. Por lo tanto, los objetos hacen uso de los Atributos (variables) y Métodos (Funciones y Procedimientos) de su correspondiente Clase.  Es una variable de tipo clase. Por ejemplo: El objeto Cesar es un objeto de tipo Clase: Persona.  Permiten modelar entidades del mundo real. Por ejemplo: LCD LG pertenece a la clase Televisor. Resumiendo la clase televisor seria: ATRIBUTOS tipo. De tipo cadena. Resolución. De tipo cadena Marca. De tipo cadena. METODOS Emitir_Señal ( ) Emitir_Audio ( ) Decodificar_Señal (señal_entrada) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 6. DEFINICION DE OBJETO  Como se puede observar un objeto a través de su clase esta compuesto por 2 partes: Atributos o propiedades y Métodos que definen el comportamiento de dicho objetos a partir de sus atributos.  Los atributos y los métodos pueden ser o no accedidos desde afuera dependiendo de la solución a plantear. Por lo general los atributos siempre se ocultan al exterior y algunos métodos quedan visibles al exterior para convertirse en la interfaz del objeto. Encapsulamiento. ATRIBUTOS tipo. De tipo cadena. Resolución. De tipo cadena Marca. De tipo cadena. METODOS Emitir_Señal ( ) Emitir_Audio ( ) Decodificar_Señal (señal_entrada) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 7. DEFINICION DE OBJETO Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 8. IDENTIFICACION DE OBJETOS  La primera tarea a la que se enfrenta un diseñador o programador en POO es la identificación e los objetos inmersos en el problema a solucionar.  Los objetos generalmente se ubican en las siguientes categorías: Cosas Tangibles: Avión, auto, producto, insumo. Roles : gerente, cliente, vendedor, auxiliar, empleado. Organizaciones o entidades: Empresa, colegio, proveedor, EPS. Cosas intangibles: Vuelos, Servicios, Materias, programas. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 9. EJEMPLO DE OBJETO OTRO EJEMPLO:  Se pretende modelar un objeto llamado CARRO el cual existe en el mundo real. Este objeto tiene unos atributos o variables: Vel_Max, Color, No_chasis, No_puertas, No._llantas, tipo. Unos comportamientos y métodos: Acelerar (velocidad), Frenar (velocidad), mover_cambio (No_cambio), CLASE CARRO ATRIBUTOS Vel_max. De tipo decimal. Color. De tipo cadena No_chasis. De tipo cadena. No_puertas. De tipo entero. No_llantas. De tipo entero. METODOS Acelerar (Velocidad) Frenar (Velocidad) Mover_cambio (No_cambio) Girar_derecha ( ) Girar_izquierda ( ) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 10. EJEMPLO CLASE Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 11. EJEMPLO OBJETOS Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 12. CARACTERISTICAS IMPORTANTES DE LA POO  ABSTRACCION.  ENCAPSULAMIENTO.  MENSAJES.  POLIMORFISMO.  HERENCIA. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 13. ABSTRACCION  Es una de las principales características a tener en cuenta ya que permite vislumbrar los diferentes agentes u objetos implicados en un problema.  Captar los atributos y métodos que conforman cada objeto y la relación que existen entre ellos.  Resolver el problema en subproblemas donde cada objeto se haga cargo de cada subproblema.  La comunicación entre objetos generan la solución general a todo el problema. (Divide y vencerás). Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 14. ENCAPSULAMIENTO  Esta propiedad permite la ocultación de la información es decir permite asegurar que el contenido de un objeto se pueda ocultar del mundo exterior dejándose ver lo que cada objeto necesite hacer publico.  Ejemplo: Una persona desea llevar su televisor descompuesto para que sea arreglado por un técnico. persona técnico Entregar ( ) Llevar ( TV ) •Ver_TV( ) •Escuchar ( ) •Apagar ( ) •Prender ( ) •Llevar (TV) •Desatornillar ( ) •Diagnosticar ( ) •Reparar ( ) •Entregar ( ) as TV Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 15. ENCAPSULAMIENTO  Esta propiedad permite la ocultación de la información es decir permite asegurar que el contenido de un objeto se pueda ocultar del mundo exterior dejándose ver lo que cada objeto necesite hacer publico.  Ejemplo: Una persona desea llevar su televisor descompuesto para que sea arreglado por un técnico. persona técnico Entregar ( ) Llevar ( TV ) •Ver_TV( ) •Escuchar ( ) •Apagar ( ) •Prender ( ) •Llevar (TV) •Desatornillar ( ) •Diagnosticar ( ) •Reparar ( ) •Entregar ( ) as TV Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 16. MENSAJES  Un objeto sin comunicación con el mundo exterior no es de utilidad. La idea no es crear islas de objetos si no objetos relacionados.  Los objetos interactúan entre ellos mediante mensajes.  Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones o procedimientos miembro (Métodos de B), el objeto A manda un mensaje al objeto B. persona técnico Entregar ( ) Llevar ( TV ) •Desatornillar ( ) •Diagnosticar ( ) •Reparar ( ) •Entregar ( ) as TV •Ver_TV( ) •Escuchar ( ) •Apagar ( ) •Prender ( ) •Llevar (TV) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 17. POLIMORFISMO  Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan información de manera diferente de acuerdo al objeto que lo contenga. Objeto 2 function Sumar (a,b) Sumar = a + b End Function Objeto 1 Objeto2.sumar (a,b) Objeto3.sumar (a,b,c) Objeto 3 function Sumar (a,b,c) Sumar = a + b + c End Function El objeto 1 invoca a 2 métodos que llevan el mismo nombre pero funcionan diferente en cada objeto. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 18. POLIMORFISMO  Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan información de manera diferente de acuerdo al objeto que lo contenga. objeto Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 19. HERENCIA  El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero además pueden introducir características particulares propias que las diferencian. ANIMAL MAMIFERO MAMIFERO MAMIFERO MAMIFERO MAMIFERO MAMIFERO Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 20. MODIFICADORES DE ACCESO  Permiten controlar la forma de acceder a los atributos y métodos encapsulados dentro de una clase.  TIPOS: PUBLICO: Cualquier atributo o método Publico puede se accedido desde fuera de la clase. Se representa por (+). PRIVADO: Cualquier atributo o método Privado NO puede se accedido desde fuera de la clase. Solo puede ser utilizado internamente en la clase. Se representa por ( - ). PROTEGIDO: Cualquier atributo o método Protegido puede ser heredado por otra clase pero en esta ultima se convierten en elementos Privados. Se representa por ( # ). Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 21. MODIFICADORES DE ACCESO Cliente - Nombre: Cadena - Teléfono: Entero - Dirección: Cadena - Fecha_nacimiento + FijarNombre( ) + FijarTel ( ) + FijarDir ( ) + FijarFechaNac ( ) - CalcularEdad( ) + ObtenerEdad ( ) # ObtenerDatos ( ) Cli : cliente Cli.FijarNombre(“Juan”) Cli.FijarTel(8231451) Registrar_BD + Registrar ( ) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 22. UML (Unified Modeling Language)  UML es un lenguaje de modelado para especificar el análisis y diseño de sistemas orientados a objetos.  Permite diagramas los requerimientos funcionales del sistemas : Diagrama de Casos de Uso.  Permite abstraer mediante diagramas específicos las diferentes clases y objetos con sus respectivos atributos y métodos logrando especificar claramente las correspondientes relaciones o envió de mensajes entre objetos. Diagramas de Clases, Objetos y de Secuencia.  Permite visualizar los diferentes componentes donde se pondrá en funcionamiento el nuevo sistemas orientado a objetos. Diagramas de Despliegue. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 23. UML DIAGRAMA DE CASOS DE USO  Busca plasmar los requerimientos funcionales del nuevo sistema para cada uno de los usuarios. Sistema de Gestion de Proyectos (SGP) Administrador proyectos Validar Acceso Sistema de Gestion de Proyectos (SGP) Crear Proyecto Asignar insumo Administrador proyectos Asignar integrante Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 24. UML DIAGRAMA DE CLASES  Busca plasmar los elementos que intervienen en la aplicación ya sean los agentes que facilitan la comunicación con el usuario o los pertenecientes a la lógica del negocio. Describe los atributos y métodos de cada clase a implementar. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 25. UML DIAGRAMA DE SECUENCIA  Permiten abstraer la secuencia de mensajes entre objetos a través del tiempo. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 26. UML DIAGRAMA DE DESPLIEGUE  Integra los componentes Hardware y Software del sistema. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 27. CLASES VISUAL BASIC .NET  Para crear una clase en visual Basic .NET debemos utilizar la palabra reservada Class seguida den nombre de dicha clase a construir: Class Cliente instrucciones End Class  Por lo tanto, todo lo que se conforme como instrucciones estará encapsulado en la Clase Cliente. Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 28. CLASES VISUAL BASIC .NET  Creación de una clase Cliente con algunos elementos encapsulados: Class Cliente Public Nombre As String Public Sub MostrarNombre() MsgBox("El nombre del cliente: ", Nombre) End Sub End Class  Para poder utilizar valores a las propiedades o variables que define la clase y además, utilizar los procedimientos y funciones encapsuladas debemos crear un Objeto Cliente: Dim Cli As Cliente Cli = new Cliente ( ) Dim Cli As new Cliente( ) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 29. OBJETOS VISUAL BASIC .NET  La clase: Class Cliente Public Nombre As String Public Sub MostrarNombre() MsgBox("El nombre del cliente: “ & Nombre) End Sub End Class  El objeto: Dim Cli As new Cliente( )  Para acceder a las instrucciones mediante el objeto : Cli.Nombre = “Cesar Fernandez” Cli.MostrarNombre ( ) Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 30. HERENCIA Y POLIMORFISMO VISUAL BASIC .NET  Las clases: Class Cliente Public Nombre As String Public Sub MostrarNombre() MsgBox(Nombre) End Sub End Class Class ClienteMoroso Inherits Cliente ‘ HERENCIA Public Deuda As Decimal End Class  La clase: ClienteMoroso hereda los atributos y métodos públicos de la clase Cliente. Dim Cli As new Cliente( ) Dim CliM As new ClienteMoroso( ) Cli.Nombre = “Cesar David” CliM.Nombre = “Juan Jose” Cli.MostrarNombre( ) CliM.MostrarNombre( ) POLIMORFISMO Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
  • 31. MUCHAS GRACIAS PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS INQUIETUDES O DUDAS ? Ing. Cesar David Fernández Grueso. CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL SENA REGIONAL CAUCA