Está en la página 1de 17

Desarrollo de Aplicaciones I

UNIVERSIDAD TECNOLGICA DE HERMOSILLO T.S.U. EN T.I.C., rea: Sistemas Informticos

Desarrollo de Aplicaciones I

Introduccin a la Programacin Orientada a Objetos


Ing. Jos Padilla Duarte y estudiantes de Sistemas Informticos

Hermosillo, Sonora

Mayo de 2013

Introduccin a la POO

Tpicos para esta sesin


Abstraccin Encapsulamiento Herencia Clases y objetos Variables de tipo referencia Mtodos y constructores

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Abstraccin La abstraccin en POO expresa las caractersticas esenciales de un objeto.


La abstraccin es una herramienta intelectual que facilita la chamba del programador, porque lo autoriza a ignorar, desconocer o discriminar cierta informacin del(os) objeto(s) que no es relevante de otra s lo es, dependiendo del contexto en el que se ubique el programa o sistema que se quiera desarrollar.

Introduccin a la POO

Abstraccin (cont) Haciendo uso de la abstraccin podremos ver de manera general unos cuantos miembros (atributos y mtodos) que s son necesarios para elaborar una clase en el menor tiempo posible y sin tanto esfuerzo.

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Beneficios de la Abstraccin Ayuda a que el anlisis de la informacin no nos lleve demasiado tiempo.

El programador se puede concentrar en resolver una parte del problema ignorando completamente los detalles sobre cmo se resuelven el resto de las partes.

Introduccin a la POO

Abstraccin (cont.)
La abstraccin es la estrategia de programacin ms importante. Sin la abstraccin las personas seran incapaces de abordar los problemas complejos. La pericia de un programador no est en ser veloz para escribir lneas de programa, sino en saber descubrir, en el proceso de diseo, cules son las partes del problema, y luego resolver cada una de ellas abstrayndose de las otras.

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Abstraccin (el ejemplo ms clsico)


Un ejemplo de abstraccin es el hecho de que uno puede conducir un automvil sin ser un mecnico (lo cual probablemente no era cierto con los primeros vehculos). Al conducir, uno se abstrae de cmo funciona la combustin en el motor. Slo se requiere saber cmo se maneja el volante, los pedales, y cuales son las reglas del trnsito.

Introduccin a la POO

Encapsulamiento o Encapsulacin
Una de las maneras ms eficientes de mantener la seguridad en las aplicaciones en cualquier lenguaje de programacin es el encapsulamiento, adems de brindar seguridad a las aplicaciones permite tener una organizacin muy precisa a la hora de desarrollar.

Una de las premisas de POO, es que la mayora, sino es que todos, los atributos de un objeto deben ser privados, esto para tener seguridad sobre los valores del objeto, pero entonces... cmo acceder a los atributos de una clase?, la respuesta es: el encapsulamiento. Los mtodos de encapsulamiento se utilizan slo cuando es apropiado entregar los datos a otro objeto que solicite la informacin.

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Encapsulamiento o Encapsulacin
En POO, se denomina encapsulamiento al ocultamiento del estado, es decir, de los atributos, de un objeto de manera que slo se pueden cambiar mediante las operaciones definidas para ese objeto (sus mtodos).

Un principio fundamental en la POO es la ocultacin de la informacin, que significa que a determinados datos del interior de una clase no se puede acceder por mtodos externos a la clase. El mecanismo principal para ocultar datos es ponerlos en una clase y hacerlos privados.

Introduccin a la POO

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Encapsulamiento (tipos de acceso a los miembros de una clase)


Distinguimos de cuatro tipos de acceso distinto a los miembros de una clase: public .- Los miembros public de una clase pueden accederse por los objetos de la misma clase, desde los objetos producidos por las clases herederas (clase hijo) y desde cualquier otra clase que est escrita en el mismo archivo donde se encuentra la clase. private .- Los miembros private de una clase nicamente son accesibles para los objetos instanciados de la clase base. NO son accesibles para los objetos creados con las clases herederas ni para otras clases escritas en el mismo archivo donde se encuentra la clase base.

Introduccin a la POO

Encapsulamiento
protected .- Los miembros protected de una clase son accesibles para los objetos instanciados de la clase base y por los objetos creados con las clases herederas. NO son accesibles para otras clases escritas en el mismo archivo donde se encuentra la clase base. (no especificado) .- Los miembros a los cuales no se les ha especificado un tipo de acceso (public, private o protected) son accesibles por los objetos instanciados con la clase base y por otras clases escritas en el mismo archivo donde se encuentra la clase base. No son accesibles por los objetos creados con las clases herederas.

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Encapsulamiento
La siguiente tabla muestra los niveles de acceso permitidos por cada especificador: Accesible desde Tipo de miembro La misma clase Clase derivada (heredada) Otra clase en el mismo archivo

public protected private ( sin especificar )

Introduccin a la POO

Herencia
Es un mecanismo que permite definir nuevas clases a partir de otras ya definidas de modo que si en la definicin de una clase indicamos que sta deriva de otra, entonces la primera -a la que se le suele llamar clase hija- ser tratada por el compilador automticamente como si su definicin incluyese la definicin de la segunda a la que se le suele llamar clase padre o clase base .

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Herencia
En orientacin a objetos la herencia es el mecanismo fundamental para implementar la reutilizacin y extensibilidad del software. A travs de ella los diseadores pueden construir nuevas clases partiendo de una jerarqua de clases ya existente (comprobadas y verificadas) evitando con ello el rediseo, la remodificacin y verificacin de la parte ya implementada. La herencia facilita la creacin de objetos a partir de otros ya existentes, obteniendo caractersticas (mtodos y atributos) similares a los ya existentes. Clic aqu para descargar un video sencillo que explica la herencia. http://www.tic-uth.net/jopadu/CSHARP_Herencia_wmv_HD.avi

Introduccin a la POO

Jos Padilla Duarte

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Un objeto es bsicamente:
Los datos (variables) que representan una entidad. Las operaciones (funciones miembro, mtodos) que actan sobre estos datos, consultando o modificando el estado del objeto.

Jos Padilla Duarte

10

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

11

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

12

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

13

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

14

Desarrollo de Aplicaciones I

Introduccin a la POO

Introduccin a la POO

Jos Padilla Duarte

15

Desarrollo de Aplicaciones I

Introduccin a la POO

Una clase en C#
using System; public class Persona { protected string nombre; protected string apellidos; protected string telefono; protected date f_nacimiento; } Persona() { } public void mostrarInfoPorPantalla() { Console.WriteLine(Nombre: + nombre); Console.WriteLine(Apellidos: + apellidos); Console.WriteLine(Telfono: + telefono); Console.WriteLine(Fecha Nac.: + f_nacimiento); } public int edad() { ... return edad; }

Introduccin a la POO

Jos Padilla Duarte

16

Desarrollo de Aplicaciones I

Introduccin a la POO

Fin de la Sesin

Gracias a todos los estudiantes que con su investigacin proporcionaron informacin para integrar este material de estudio para la clase.

Jos Padilla Duarte

17