You are on page 1of 18

Programacin Orientada

a Objetos
Docente: Maria Hurtado

Programacin Orientada a Objetos


La programacin orientada a Objetos bsicamente
define una serie de conceptos y tcnicas de
programacin para representar acciones o cosas de
la vida real basada en objetos.
Con la programacin orientada a objetos se vincula
diferentes
conceptos
como
clases,
objetos,
mtodos,
propiedades,
estados,
herencia,
encapsulacin entre otros, generando cada vez
interrelaciones en nuestro desarrollo en pro del
funcionamiento del sistema principal, definiendo el
programa como un conjunto de estos objetos
relacionados entre si.

Clases
Las clases son uno de los principales componentes de
un lenguaje de programacin, pues en ellas ocurren
todos los procesos lgicos requeridos para un sistema,
en si podemos definirlas como estructuras que
representan objetos del mundo real, tomando como
objetos a personas, lugares o cosas, en general las
clases poseen propiedades, comportamientos y
relaciones con otras clases del sistema.

Clases
Una clase se compone por tres partes fundamentales:
Nombre: Contiene el Nombre de la Clase.
Atributos: Representan las propiedades que
caracterizan la clase.
Mtodos: Representan el comportamiento u
operaciones, la forma como interacta la clase con su
entorno.

Objeto
Los objetos representan una entidad concreta o
abstracta del mundo real, en programacin
bsicamente se le conoce como la instancia de
una clase, en si es lo que da el sentido a estas.
Al igual que las clases, los objetos se componen
de tres partes fundamentales:
Estado: Representa los atributos o caractersticas
con valores concretos del objeto.
Comportamiento: Se define por los mtodos u
operaciones que se pueden realizar con el.
Identidad: Es la propiedad nica que representa al
objeto y lo diferencia del resto.

Objeto - Ejemplo
Ejemplo:
De la clase Principal creamos un objeto.

Herencia
La herencia representalo que conocemos de herencia en el
mundo real, bsicamente mediante esta obtenemos las
caractersticas o rasgos comunes de nuestros padres o abuelos.
En un lenguaje de POO como por ejemplo java/c# es el mismo
enfoque permitiendo la creacin de nuevas clases basadas en
clases ya existentes, con las cuales podemos obtener las
caractersticas de las clases padres, heredando campos,
atributos, mtodos o funcionalidades.

Herencia - Ejemplo

Encapsulamiento
La encapsulacin es la forma de proteger los datos dentro del
sistema, estableciendo bsicamente los permisos o niveles de
visibilidad o acceso de los datos.
Se representa por tres niveles:

Pblico: Se puede acceder a todos los atributos o mtodos de la


clase.

Protegido: Se puede acceder a los atributos o mtodos solo en


la misma jerarqua de herencia.

Privado: Solo se puede acceder a los atributos o mtodos de la


clase en la que se encuentran.

Encapsulamiento

Con la encapsulacin mantenemos nuestros datos seguros, ya que


podemos evitar, por ejemplo, se hagan modificaciones al estado o
comportamiento de un objeto desde una clase externa.

Una buena practica es trabajar conmtodossetterygetterque


permiten manipular nuestros datos de forma segura.

Clase Abstracta
La abstraccin permite resaltar la parte mas
representativa de algo, ignorando detalles para
centrarse en lo principal.
Las clases abstractas permiten crear mtodos
generales con un comportamiento comn para
otras clases concretas sin importar sus
caractersticas ni el comportamiento que usen
para dichos mtodos.

Clase Abstracta JAVA o C#


La Abstraccin en Java/C# solo tiene lgica mediante la
Herencia, ya que una clase abstracta posee al menos un
mtodo abstracto el cual no tiene implementacin, el
comportamiento de estos mtodos lo definen las clases
concretas que lo hereden.
Podemos usarlos cuando existan varias clases con
caractersticas o acciones comunes pero con diferentes
comportamientos, mediante el uso de la herencia y
componentes abstractos hacemos mas ptima y
organizada nuestra aplicacin.
Hay que tener en cuenta que a diferencia de las clases
concretas, las clases abstractas no se pueden instanciar.

Clase Abstracta JAVA - Ejemplo

Practica #2
En el lenguaje de POO que selecciono,
realice los siguientes ejercicios
Investigue que es una clase Interface y
Polimorfica.
En base a lo que investigo realice clases de
cada tipo y muestre la utilidad, mostrando
como se declara un clase interfaz y
poliformica y como son utilizadas por otras
clases.

KATAS Como nos ayuda en


programacin?
Nos ayuda en mejorar nuestras habilidades de
programacin practicando.
Las katas y dojos son unos ejercicios que se
realizan para practicar, son problemas sencillos de
los que se conoce la solucin pero lo importante
no es resolverlos perfectamente sino aplicar las
lecciones
aprendidas
y
mejorar
nuestras
habilidades de programacin que posteriormente
usaremos en los proyectos propuestos.

Ejercicios para practicar


1. Codificar la siguiente jerarqua de
clases

Ejercicios para practicar


2. Crea una clase Cuenta con los mtodos ingreso, reintegro y
transferencia. La clase contendr un constructor por defecto, un
constructor con parmetros, un constructor copia y los mtodos getters y
setters.
3. Crea una clase Contador con los mtodos para incrementar y
decrementar el contador. La clase contendr un constructor por defecto, un
constructor con parmetros, un constructor copia y los mtodos getters y
setters.
4. Crea una clase Fraccin con mtodos para sumar, restar, multiplicar y
dividir fracciones.
5. Crea una clase Fecha. La clase contendr adems de constructores,
mtodos set y get y el mtodo toString, un mtodo para comprobar si la
fecha es correcta y otro para modificar la fecha actual por la del da
siguiente.
6. Crea una clase Empleado. La clase contendr un atributo esttico o
atributo de clase.

Ejercicios para practicar


Si hay terminos o conceptos que no entienden deben
investigarlo:
Que es un contructor copia.
Como se realiza suma, resta, multiplicacion y division de
fracciones.
Como realizar/utilizar un metodo toString.
Los ejercicios se presentaran en sus maquinas corriendo.

You might also like